redis服务器命令方法详解
指令
BGREWRITEAOF (rewrite)
触发一次AOF文件的重写操作,重写操作完成前不会覆盖原来的aof文件,不会导致文件丢失。
相关设置
appendfsync always / everysec / no
appendfsync:AOF更新数据的时间间隔,由主进程执行。
可选值:
always 每条更新(影响效率)
everysec 每秒更新(上下折中)
no redis不负责更新写入磁盘,交给操作系统来调度(影响数据完整性)
no-appendfsync-on-rewrite no / yes
no-appendfsync-on-rewrite:在AOF的rewrite执行时,是否将新命令写入AOF中
可选值:
no 会阻塞,不丢数据
yes 降低延迟,可能丢数据
当no-appendfsync-on-rewrite参数为yes时,意味着no-appendfsync-on-rewrite(在rewrite时不执行appendfsync,也就是appendfsync参数在rewrite期间不生效即为appendfsync no)
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
auto-aof-rewrite-percentage:自动aof-rewrite增长百分比
auto-aof-rewrite-min-size:自动aof-rewrite最小文件大小
当文件大小增长部分的百分比超过上次rewrite之后的100%即上次重写后文件2倍大小时
且文件大小超过64M时 就进行一次rewrite
BGSAVE(bgsave)
开启一个子线程对当前时刻redis进行一次数据快照,执行rdb数据写入磁盘文件操作,不会阻塞redis主进程正常的业务
FLUSHALL
清空redis库数据
SAVE
主线程阻塞执行rdb数据写入磁盘文件操作
Sync
主从服务器数据同步
Slaveof
SLAVEOF host port
将当前服务器转变为指定服务器的从属服务器,SLAVEOF会触发目标主服务器的BGSAVE
SLAVEOF NO ONE
当服务器已经是从服务器时,将本实例转为主服务器,原来从主服务器复制的数据不会丢弃
PSYNC(redis 2.8+版本)
PSYNC [id] [offset]
id:主服务器ID
offset:数据偏移量
当offset -1 时 主服务器触发bgsave发送全量数据
DBSIZE
获取当前服务器中key的数量