一、事务及锁应用

  a) 事务开启:multi

  b) 事务回滚:discard

  c) 事务成功:exec

  d) 事务前上乐观锁,检测key是否改动:watch key

  e) 取消所有锁:unwatch

  注:multi后面的语句中出错可能有两种情况:

  1、语法有问题,exec时报错,所有语句取消执行。

  2、语法本身没错,但适用对象出错,比如 sadd 操作 string对象,exec之后,会执 行正确的语句,并跳过不适当的语句。

 

二、频道发布和消息订阅

  a) 订阅消息:subscribe test

  b) 发布消息:publish test message

  c) 通配订阅:psubscribe test*

 

三、rdb快照持久化

  修改redis.config:

  a) save 900 1:刷新快照到硬盘中,必须满足两者要求才触发--每隔900秒之后至少1个关键字发生变化。

  b) save 300 10:每隔300秒之后至少10个关键字发生变化。

  c) stop-writes-on-bgsave-error yes:后台存储错误停止写操作

  d) rdbcompression yes:使用LZF压缩rdb文件。

  e) rdbchecksum yes:存储和加载rdb文件时校验。

  f) dbfilename dump.rdb:设置rdb文件名。

  g) dir ./ :设置工作目录,rdb文件会写入该目录

 

  rdb工作原理:每隔n分钟或n写操作后,从内存dump数据形成rdb文件压缩放在备份目录.

  rdb的缺陷: 两个保存点之间断电或出故障将会丢失1-N分钟的数据,出于对持久化的更精细要求,redis增添了aof方式 append only file.

 

四、aof日志持久化

  a) 开启aof日志功能:appendonly no => appendonly yes

  b) appendfsync always:每1命令都立即同步到aof,安全但速度慢

  c) appendfsync everysec:折中方案,每秒写一次

  d) appendfsync no:写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof。同步频率低,速度快。

  e) no-appendfsync-on-rewrite yes;正在导出rdb快照的过程中,是否停止同步aof

  f) auto-aof-rewrite-percentage 100aof文件大小比起上次重写时的大小,增长率100%时重写

  g) auto-aof-rewrite-min-size 64mbaof文件至少超过64M时重写。

 

  注: aof重写:是指把内存中的数据,简化成命令写入到aof日志中,解决aof 日志过大的问题。如果rdb文件和aof文件都存在,优先使用aof来恢复数据。在dump.rdb过程中,所有的操作缓存在内存队列里,dump执行完成后统一操作,不会导致aof数据丢失。

 

五、redis主从复制(集群)

  a) Master配置:

    1.关闭rdb快照(备份工作交给slave

    2.可以开启aof

  b) Slave 配置:

    i. 声明slave-ofslaveof 127.0.0.1 6379

    ii. 配置密码masterauth(如果master requirepass有密码)

    iii. Slave打开rdb快照功能

    iv. 配置是否只读(slave-read-only

  c) 复制redis.confcp redis.conf redis6380.conf  cp redis.conf redis6381.conf

  d) 开启守护进程(主从):daemonize yes

  e) 端口号(主从): port  端口号

  f) 启动pid(主从)pidfile /var/run/redis_端口号.pid

  g) 配置日志文件(主从):logfile  "./logdata/端口号.log"

 

六、redis运维常用命令

  a) time:服务器时间,时间戳(秒),微妙数

  b) dbsize:当前数据库key数量

  c) bgrewriteaof:后台进程重写aof

  d) bgsave:后台进程保存rdb快照

  e) save:保存rdb快照

  f) lastsave:上次保存时间

  g) slaveof:设为slave服务器

  h) flushdb:清空当前数据库所有键

  i) flushall:清空所有数据库所有键

  j) info:查看redis详情

  k) config get/set xx:获取或设置 redis.conf文件的配置信息

  l) shutdown:关机

 

七、aof恢复

  a) 如果flushall:立即 shutdown nosave关机,然后到aof日志把flushall命令删除。

 

八、sentinel监控

  a) sentinel monitor def_master 217.0.0.1 6379 2:连续两次连接不上为master失效

  b) sentinel auth-pass def_master xxx:设置master密码

  c) sentinel down-after-milliseconds def_master 30000:默认30秒为通讯失效间隔时间

  d) sentinel can-failover def_master yes:如果master失效,实施其中一slavemaster

  e) redis-server ./sentinel --sentinel:执行sentinel redis服务

 

九、PHPredis扩展

a) pecl.php.net复制 stable 版本下载链接

b) wget 下载解压

c) 执行

 

posted on 2020-07-01 17:46  鸥海  阅读(227)  评论(0编辑  收藏  举报