redis学习笔记三(事务、主从复制)

事务

multl 开启事务

exec 执行事务,提交(如果在没有进入队列就出现错误全部不执行,如果是进入队列后再执行exec时出错,只有出错部分不会提交其他正常执行)

discard 放弃提交

watch 先监控在开始事务multl,如果在监视的到提交的过程中被监视的对象发生变化则该操作不成功,事务回滚。(类似乐观锁)

unwatch 当使用watch进行监控时,有其他客户改变了监控对象此时需要是用unwatch取消监控在进行watch继续事务操作。

悲观锁:会锁住整张表。乐观锁:会在取数据的时候带上当前行数据版本号,当更新时先判断是否大于存在的版本号在更新。


消息订阅发布

subscribe c1 c2 c3  当前客户端订阅了 c1 c2 c3

publish c2 hello 当前客户端发布c2消息hello,这样上面客户端将能收到此消息

psubscribe new* 通配符方式订阅多个



主从复制

info replication: 在redis服务启动后再客户端使用这个会打印出当前服务信息

slaveof 127.0.0.1 6379 设置当前redis服务器作为本机6379的从机。

设置了主从机器主机可以写入,从机只能读取内容。如果主机死掉从机会原地待命不会篡位,主机一旦复活将继续。从机挂掉后再启动需要从新连接slaveof

当开始设置一个为从机时,它会主动把主机中的所有数据复制到从机来。

上一个从机(slave)可以是下一个从机(slave)的主机,实现接连传递。

slaveof no one使得从机变成主机实现篡位。使用手动篡位。其他从机可以连接这个篡位的主机。(个人感觉意义不大)


哨兵模式:主机死掉会自动在从机中选择一个作为主机,其他从机自动跟随新主机,如果原来主机又恢复那原来主机只能变成从机继续跟随新主人(前面配置主从之后再配置此模式)。

在主机配置文件目录下创建一个文件名为sentinel.conf(名字不要错)

内容格式:sentinel monitor 主机名(自己取) 主机ip 端口 1

sentinel monitor host 127.0.0.1 6379 1 表示主机时候只要有从机的票大于1自动转换成主机。

启动哨兵:redis-sentinel sentinel.conf 启动哨兵









猜你喜欢

转载自blog.csdn.net/yuliantao/article/details/78742489