multi 开始事务
exec 提交事务
不保证事务的原子性 ,一条命令执行失败,其后的命令仍然可以被执行
先watch 某个key ,然后紧接着使用multi开启一个事物,在使用exec提交事务时,首先看其它人有没有动被watch的key,如果动了,那么整个事务全部会提交失败
下面说说redis.conf这个配置文件常见的配置
timeout : 0 默认是0 表示不关闭连接 ,如果有值,则表示客户端空闲timeout秒时,关闭连接
tcp-keepalive :默认是0,不开启长链接检测, 多长时间检测一次长连,建议设置成60
loglevel : 默认是notice ,开发测试阶段可以设置成debug
config set requirepass “123456” :设置密码,执行任何命令前必须先输入 auth 123456,否则会提示 NOAUTH Authentication required.
config set requirepass “”:不设置密码,默认是不设置密码
maxmemory : 超过最大内存限制时,先使用策略清楚一部分key,还是超限,则只容许读不容许写
maxmemory-policy:
policy | 英 [ˈpɒləsi] |
政策; 策略
redis.conf中requirepass和masterauth的区别
redis启用密码认证一定要requirepass和masterauth同时设置。
如果主节点设置了requirepass登录验证,在主从切换,slave在和master做数据同步的时候首先需要发送一个ping的消息给主节点判断主节点是否存活,再监听主节点的端口是否联通,发送数据同步等都会用到master的登录密码,否则无法登录,log会出现响应的报错。也就是说slave的masterauth和master的requirepass是对应的,所以建议redis启用密码时将各个节点的masterauth和requirepass设置为相同的密码,降低运维成本。当然设置为不同也是可以的,注意slave节点masterauth和master节点requirepass的对应关系就行。
FR:徐海涛(QQ技术交流群:386476712)