持久化两种方式

  • snapshotting
  • append-only file 「AOF」
snapshooting

BGSAVE后台备份,会启动一个子进程来备份,当Redis内存很大时,比较消耗时间,建议手动使用SAVE命令保存

AOF

appendonly yes

[appendfsync always]每次写入都刷新到硬盘上
[appendfsync everysec]每秒钟同步一次到硬盘
[appendfsync no]不做显式操作,由操作系统决定

BGREWRITEAOF 重写/压缩AOF文件

auto-aof-rewrite-perentage 100 当AOF文件比上次重写之后提及大了一倍(100%)以上时自动重写
auto-aof-rewrite-min-size 64mb 当AOF文件体积大于64mb时自动重写

————————

复制

支持主从复制,不支持主主相互复制

SLAVEOF host port

通过执行 SLAVEOF host port 命令,可以将当前服务器转变为指定服务器的从属服务器(slave server)。

如果当前服务器已经是某个主服务器(master server)的从属服务器,那么执行 SLAVEOF host port 将使当前服务器停止对旧主服务器的同步,丢弃旧数据集,转而开始对新主服务器进行同步。

另外,对一个从属服务器执行命令 SLAVEOF NO ONE 将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。

利用『 SLAVEOF NO ONE 不会丢弃同步所得数据集』这个特性,可以在主服务器失败的时候,将从属服务器用作新的主服务器,从而实现无间断运行。

INFO命令提供了大量与Redis服务器当前状态有关的信息

Ex:

  • 内存占用量
  • 客户端连接数
  • 每个数据库包含的键的数量
  • 上一次创建快照文件之后执行的命令数量等等

redis-benchmark 可以展示Redis在当前服务器上面的性能