redis安装启动
上篇文章:《linux安装redis并启动运行(完整版)》
服务端连接
./redis-server 或者 ./redis-server ../配置文件(redis.conf)
客户端连接
./redis-cli 或者 ./redis-cli -p 端口号(6379)
五个数据类型
String: 字符串
Hash: 散列
List: 列表
Set: 集合
Sorted Set: 有序集合
具体命令可以参考
https://www.runoob.com/redis/redis-tutorial.html
菜鸟的Redis 教程,这个太基础了,在此不再赘述。
发布订阅
redis可以实现消息通信模式。
创建订阅频道名
SUBSCRIBE chat
发送消息
PUBLISH chat "消息"
redis事务
单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。
开启事务
MULTI
中间命令.......
提交事务
EXEC
持久化
将数据存储在硬盘,保证数据不会因进程退出而丢失。
RDB和AOF方案
RDB:RDB文件是经过压缩的二进制文件。
命令行开启RDB :bgsave
AOF:将Redis执行的每次写命令记录到单独的日志文件中,当Redis重启时再次执行AOF文件中的命令来恢复数据。
Redis服务器默认开启RDB,关闭AOF;要开启AOF,需要修改配置文件中为yes:
appendonly yes
主从复制
主从复制是指将一台Redis服务器的数据,复制到其它的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。
需要注意,主从复制的开启,完全是在从节点发起的,不需要我们在主节点做任何事情。
从节点开启主从复制,有3种方式:
配置文件
在从服务器的配置文件中加入:replicaof <masterip> <masterport>
启动命令
redis-server启动命令后加入:replicaof <masterip> <masterport>
客户端命令
Redis服务器启动后直接通过客户端执行命令:replicaof <masterip> <masterport>,则该Redis实例成为从节点。
slaveof是老命令,replicaof是新命令
例如:在从节点(6380)配置 replicaof 127.0.0.1 6379
哨兵
哨兵实现了自动化的故障恢复
三个主从三哨兵
三个主从跟上面的主从配置一样,三个哨兵的redis节点加个配置:
格式为sentinel monitor< mastername> < masterIP > < masterPort > < quorum >
(注:例如6379是主节点,Sentine监听的maste地址,第一个参数是给master起的名字,第二个参数为master ip,第三个为master端口,第四个当该master挂了的时候,若想将该master判为失效,
集群中必须至少2个Sentine同意才行,该数量不达标,就不会发生故障迁移。就是说只要有2个sentinel认为master下线,就认为该master客观下线,启动failover并选举产生新的master。通常最后一个参数不能多于启动的sentinel实例数。)
例如:sentinel monitor mymaster 127.0.0.1 6379 2