基本配置
-
redis.conf,配置不区分大小写;
units are case insensitive so 1GB 1Gb 1gB are all the same.
-
includes,可以引入其他配置文件;
include /path/to/other.conf
-
bind ,绑定可以访问的ip,默认绑定本机,注释及所有ip都可以访问;
bind 127.0.0.1
-
protected-mode yes #设置保护模式打开
-
port,设置运行端口,默认6379
port 6379
-
daemonize yes #守护进程运行redis
-
设置日志文件
logfile "/www/server/redis/redis.log"
-
默认数据库数量
databases 16
-
设置logo显示
always-show-logo yes
-
设置登录密码
requirepass 123456 #设置之后,登录redis需要用auth+密码登录
-
设置最大内存
maxmemory
-
设置内存淘汰机制
maxmemory-policy
RDB配置
-
持久化机制
save 900 1 #900秒内有1个key发生变化就进行持久化; save 300 10 #300秒内有10个key发生变化就进行持久化; save 60 10000 #60秒内有10000个key发生变化就进行持久化;
-
stop-writes-on-bgsave-error yes #持久化如果出错,是否继续工作;
-
rdbcompression yes #是否压缩持久化文件,开启需要消耗cpu资源;
-
设置持久化文件名称
dbfilename dump.rdb
-
设置持久化文件路径
dir /www/server/redis/
AOF配置
-
appendonly no 默认关闭aof,开启的rdb持久化方式;
-
设置持久化文件名称
appendfilename "appendonly.aof"
-
持久化机制
# appendfsync always #每次操作都进行持久化记录 appendfsync everysec #每秒进行持久化记录,默认持久化方式 # appendfsync no #不进行持久化方式
-
aof文件重写机制
auto-aof-rewrite-min-size 64mb #如果当前aof文件超过64mb,就进行重写
RDB与AOF持久化方式
-
RDB是以快照方式进行持久化,.rdb是个非常紧凑的文件,保存了redis某个时间节点的全部数据。在满足规定的持久化机制之后,redis会fork一个子进程,将当前时间点内redis所有数据持久化到一个临时文件,持久化工作完成之后,会将原有的rdb文件删除,将临时文件替换上去。
生成rdb文件的条件
- 满足持久化机制;
- 进行了flushall指令;
- 关闭redis服务端;
优缺点
-
文件紧凑,适合做数据备份;
-
大数据恢复时,速度比aof快;
-
数据备份不是很完整,如果在最后一次备份时发生故障,可能会损失好几分钟的数据;
-
AOF是以命令追加的方式进行持久化,默认是每秒之执行一次持久化操作,意味着,就算redis宕机,最多只会丢失1秒钟的数据。如果持久化文件数据量过大,超过了64mb,就会对文件进行重写。如果持久化文件出现故障,或者被认为故意损坏,可以通过redis-check-aof工具进行数据恢复。
文件恢复命令:redis-check-aof --fix appendonly.aof优缺点
- 数据完整性较高,就算故障,最多只会损失一秒钟数据;
- 当aof文件大小超限,可以自动重写;
- aof文件数据量会大于rdb文件,性能相对较差;