redis-cli

Redis安装

妖精的绣舞 提交于 2020-08-19 12:59:14
安装 本人使用的是redis-5.0.3版本,需要其他的版本的可以直接打开连接查看选择 http://download.redis.io/releases/ 开始安装 wget http://download.redis.io/releases/redis-5.0.3.tar.gz tar -zxvf redis-5.0.3.tar.gz cd redis-5.0.3 make #安装到/usr/local/redis目录中,安装的文件只有一个bin目录 make install PREFIX=/usr/local/redis/ #创建配置文件和data存放目录 mkdir /usr/local/redis/conf /usr/local/redis/data #创建redis配置文件 cd /usr/local/redis/conf vi 6379.conf #切换到redis目录 cd /usr/local/redis/bin #运行redis 并指定配置文件 ./redis-server /usr/local/redis/conf/6379.conf 常用命令 [root@localhost bin]# ./redis-server --help Usage: ./redis-server [/path/to/redis.conf] [options] ./redis

linux系统安装redis4.0版本

核能气质少年 提交于 2020-08-19 03:34:41
1、安装步骤 推荐进入到linux路径/usr/local/ cd /usr/local/ wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar xzf redis-4.0.10.tar.gz cd redis-4.0.10/ make 至此,redis安装完毕 2、配置优化redis,修改redis.conf配置文件 (1)、bind 127.0.0.1 将这里前面加上#表示redis开启远程连接 不加#选择默认表示只能连接ip为127.0.0.1的本地回环地址,无法连接真实的ip. (2)、daemonize yes (这里讲原来的no改为yes,目的是为了设置后台运行) (3)、requirepass foobared 找到这一行,在下面设置密码如 requirepass 123456 表示你的密码是123456 3、启动redis /usr/local/redis-4.0.9/src/redis-server /usr/local/redis-4.0.9/redis.conf 表示 指定配置文件 直接执行 4、查看redis启动成功 5、本地客户端连接测试 6、客户端远程通过ip连接redis src/redis-cli -h 192.168.1.81 -p 6379

Redis错误配置详解

无人久伴 提交于 2020-08-18 23:22:22
Redis提供了许多提高和维护高效内存数据库使用的工具。在无需额外配置应用层的前提下,Redis独特的数据类型、指令和命令调优就可以满足应用的需求,但是错误的配置,更确切的说那些机外设备可能导致操作麻烦和性能问题。虽然导致了一些令人头疼的问题,但是解决方案是存在的,而且解决方案可能比我们预期的简单。 本系列文章介绍了使用Redis时遇到的一些令人头疼的问题,以及该解决这些问题。这些内容基于我们在运行上千个Redis数据库实例时的真实经历。 复制缓冲区限制 复制缓冲区主从服务器同步数据时保存数据的内存区域。在一个完整的主从同步中,初始化阶段同步时,主服务器在复制缓冲区中保存数据的变化。初始化阶段完成后,缓冲的内容发送到从服务器。这个过程可能会遇到缓冲区的容量限制,达到最大容量时复制会重新开始。为了避免这种情况,缓冲区需要依据复制过程中变化的类型和数量进行初始化配置。例如,一个小缓冲区可以存储少量的变化数据,但当变化比较多、比较大时,我们需要大缓冲区。一个更复杂的解决方案会更详细的设置缓冲区,避免冗长、大的复杂过程耗尽缓冲区(如果缓冲区太小)。最终,这个解决方案需要微调特定的数据库。 当256MB的硬限制到达时,或者软限制到达且持续60秒时,默认的复制链路会断裂(导致同步从头开始)。许多情况下,特别是写负载高和从服务器带宽不足的情况下,负载过程都无法结束。这可能导致无限循环

Redis快照RDB和追加AOF备份

十年热恋 提交于 2020-08-18 21:21:26
RDB 对于快照模式的备份而言,它的配置项如下: save 900 1 save 300 10 save 60 10000 这 3 个配置项的含义分别为: 当 900 秒执行 1 个写命令时,启用快照备份。 当 300 秒执行 10 个写命令时,启用快照备份。 当 60 秒内执行 10000 个写命令时,启用快照备份。 Redis 执行 save 命令的时候,将禁止写入命令。 stop-writes-on-bgsave-error yes 这里先谈谈 bgsave 命令,它是一个异步保存命令,也就是系统将启动另外一条进程,把 Redis 的数据保存到对应的数据文件中。它和 save 命令最大的不同是它不会阻塞客户端的写入,也就是在执行 bgsave 的时候,允许客户端继续读/写 Redis 开启数据压缩 rdbcompression yes 指定本地数据库文件名 dbfilename dump.rdb 触发RDB快照 1 在指定的时间间隔内,执行指定次数的写操作 2 执行save(阻塞, 只管保存快照,其他的等待) 3 bgsave (异步)命令 4 执行flushall 命令,清空数据库所有数据,意义不大。 5 执行shutdown 命令,保证服务器正常关闭且不丢失任何数据,意义不大。 通过RDB文件恢复数据 将dump.rdb 文件拷贝到redis的安装目录的bin目录下

Redis搭建三主三从集群-redis cluster原生命令搭建

懵懂的女人 提交于 2020-08-16 09:37:37
本人基于环境已经安装了Redis等相关软件搭建新的Redis集群,环境原本已经存在7000-7005的Redis集群,由于资源配置及业务的需要,在此基础再搭建新的集群。 搭建方式:采用redis cluster原生命令搭建 1、创建8000-8005文件及配置 #查看Redis的进程 ps -ef|grep redis #查看Redis的安装目录,得到了进程号 xxxx ls -l /proc/xxxx/cwd #进入Redis的目录 lrwxrwxrwx. 1 root root 0 5月 23 14:00 /proc/28004/cwd -> /usr/local/redis/redis-cluster/7005 [root@localhost /]# cd usr/local/redis [root@localhost redis]# ll 总用量 0 drwxr-xr-x. 2 root root 204 5月 23 15:05 bin drwxr-xr-x. 14 root root 168 5月 23 14:48 redis-cluster [root@localhost redis]# cd redis-cluster/ [root@localhost redis-cluster]# mkdir 8000 8001 8002 8003 8004 8005 [root

Redis 6.0 除了多线程,别忘了这个牛逼特性!

心已入冬 提交于 2020-08-15 18:53:39
作者:鸟窝 https://urlify.cn/mYVVNf Redis 6.0的新特性也是在一步步的讨论和优化中确定的。 很多的特性已经在之前的RC等版本中介绍过了。 但是正式GA版中也有一些新的变化: SSL ACL: 更好,命令支持 RESP3 Client side caching:重新设计 Threaded I/O Diskless replication on replicas Cluster support in Redis-benchmark and improved redis-cli cluster support Disque in beta as a module of Redis: 开始侵入消息队列领域 Redis Cluster Proxy 支持RDB不再使用时可立即删除,针对不落盘的场景 PSYNC2: 优化的复制协议 超时设置支持更友好 更快的RDB加载,20% ~ 30%的提升 STRALGO,新的字符串命令,目前只有一个实现LCS (longest common subsequence) @antirez 提到只是Redis历史上最大的一次版本更新,所以谨慎建议在应用的产品中还是多多测试评估,并且承诺一旦遇到大的bug就会紧急发布6.0.1版。果不其然,一天后就发布了 6.0.1版,修复了一个allocator的bug

PHP + Redis 实现简单消息队列

半腔热情 提交于 2020-08-15 12:26:25
Redis做消息队列的好处在于它的 轻量级,高并发,延迟敏感 ,应用场景有 即时数据分析、秒杀计数器、缓存等 Redis做消息队列待解决的问题: 1、消息的可靠性: 没有相应的机制保证消息的消费,当消费者消费失败的时候,消息体丢失,需要手动处理。生产者只管向队列中插入数据,不管消费者是否成功消费。 2、消费者挂掉消息不会丢失,但是需要重新触发一下消费者,才能够继续消费消息。 代码如下: lib.php 是工具文件,里面有数据库的连接、Redis的连接: <?php /** * 获取数据库连接 * * @param $host * @param $username * @param $password * @param $database * @return mysqli */ function getDBConnection($host, $username, $password, $database){ $connection = new mysqli('p:'.$host, $username, $password, $database); if (!$connection) { echo "Error: Unable to connect to MySQL." . PHP_EOL; echo "Debugging errno: " . mysqli_connect_errno

centos7搭建redis集群

99封情书 提交于 2020-08-15 00:57:59
搭建环境 系统: centos 7.4 服务器金山云 安装ruby环境 [root@jsy-bj-test00 ~]# yum install -y ruby rubygems 复制6份redis服务 [work@jsy-bj-test00 ~]$ cp -rp redis redis1 [work@jsy-bj-test00 ~]$ cp -rp redis redis2 [work@jsy-bj-test00 ~]$ cp -rp redis redis3 redis配置文件修改 #六个节点需做如下更改 [work@jsy-bj-test00 ~]$ vim redis1/etc/redis.conf [work@jsy-bj-test00 ~]$ sed -i 's/port 6379/port 6380/g' redis5/etc/redis.conf #修改端口 port 6380 #打开注释,开启集群模式 cluster-enabled yes #集群的配置文件 cluster-config-file nodes-6380.conf [work@jsy-bj-test00 ~]$ sed -i 's/cluster-config-file nodes-6379.conf/cluster-config-file nodes-6380.conf/g' redis5/etc

Redis详解(十)------ 从零开始搭建集群

回眸只為那壹抹淺笑 提交于 2020-08-14 08:58:55
  在上一篇博客我们介绍了------ Redis哨兵(Sentinel)模式 ,哨兵模式主要是解决高可用问题,在master节点宕机时,slave节点能够自动切换成为master节点   本篇博客我们来介绍Redis的另外一种模式------集群模式.    PS:我这里搭建演示的版本是redis-5.0.5,这个版本对于集群搭建会有很大的简化,比如最常用的redis-trib.rb脚本功能已经集成到redis-cli工具中了,具体下面会详细介绍。 1、为什么需要集群?    ①、并发量   通常来说,单台Redis能够执行 10万/秒 的命令,这个并发基本上能够满足我们所有需求了,但有时候比如做离线计算,为了更快的得出结果,有时候我们希望超过这个并发,那这个时候单机就不满足我们需求了,就需要集群了.    ②、数据量   通常来说,单台服务器的内存大概在16G-256G之间,前面我们说Redis数据量都是存在内存中的,那如果实际业务要保存在Redis的数据量超过了单台机器的内存,这个时候最简单的方法是增加服务器内存,但是单台服务器内存不可能无限制的增加,纵向扩展不了了,便想到如何进行横向扩展.这时候我们就会想将这些业务数据分散存储在多台Redis服务器中,但是要保证多台Redis服务器能够无障碍的进行内存数据沟通,这也就是Redis集群. 2、数据分区方式   对于集群来说