网络
bind 127.0.0.1 #绑定redis服务器地址
protected-mode yes #保护模式
port 6379 #redis端口号设置
通用 General
daemonize no #以守护进程方式运行,默认为no,在部署时需要改为yes
pidfile /var/run/redis_6379.pid #若上面配置改为yes,需指定一个pid文件
loglevel notice #日志输出级别 debug\verbose\notice\warning
#debug:调试;verbose与debug类似;notice:通知(生产环境使用,默认);warning:警告(重要信息才会打印)
logfile "" #日志输出文件路径,为空则只进行日志显示
database 16 #设置数据库数量,默认16个
always-show-logo yes #是否redis开启时显示logo
pid文件的作用请参考文章linux下/var/run目录下.pid文件的作用
快照 RDB
redis是内存数据库,如果没有进行持久化,则数据会断电即失!
save 900 1 #若900s内,至少有一次key进行了修改,则进行持久化操作
save 300 10 #若300s内,至少有十次key进行了修改,则进行持久化操作
save 60 10000 #若60s内,至少有一万次key进行了修改,则进行持久化操作
stop-writes-on-bgsave-error yes #若持久化出现异常,是否继续工作
rdbcompression yes #是否压缩.rdb文件,需消耗CPU资源
rdbchecksum yes #保存.rdb文件时进行错误指令检查
dbfilename dump.rdb #.rdb文件名
div ./ #.rdb文件存放路径
安全 security
requirepass "" #设置连接redis的密码(修改后需重启redis),为空则没有密码
也可以用命令来临时设置密码(重启redis后密码失效)
config get requirepass #获取密码
config set requirepass <password> #设置密码,设置后其他客户端访问redis时会提示无权限,需要验证密码
auth <password> #验证密码后可正常访问redis,进行操作
客户端限制 clients
maxclients 10000 #设置能连接上redis的最大客户端数
maxmemory <bytes> #设置最大的内存容量
maxmemory-policy noeviction #内存到达上限后的处理策略:一共有六种策略
#volatile-lru 只对设置了过期时间的key进行lru (lru:最近最少使用的进行淘汰)
#allkeys-lru 删除所有符合lru算法的key
#volatile-random 随机删除即将过期的key
#allkeys-random 随机删除key
#volatile-ttl 删除即将过期的key
#noeviction 不删除key,直接返回错误信息
Append only模式(AOF)
appendonly no #默认不开启AOF模式(redis默认使用rdb方式持久化)
appendfilename appendonly.aof #.aof文件名
appendfsync everysec #aof写文件有三种模式:always、everysec、no
#always 总是写入aof文件,并完成磁盘同步,消耗性能
#everysec 每一秒写入aof文件,并完成磁盘同步,但可能会因redis突然宕机丢失1S内的数据
#no 写入aof文件,不等待磁盘同步,全靠操作系统自行同步数据到磁盘(一般为30s一次)
aof重写:指在aof文件达到一定大小后,重新将整个内存写到aof文件中以反映元素的最新状态(避免频繁修改变量导致命令冗余)
no-appendfsync-on-rewrite no #设置在aof文件重写时是否停止aof写入操作
#no aof文件重写和aof文件写入同时进行,数据较为安全,不易丢失但会抢占大量IO造成系统延迟或阻塞
#yes 相当于将appendfsync设置为no, 主进程不进行磁盘操作只写入缓冲区,当重写操作结束后再磁盘同步,
#不会造成系统阻塞,但当redis突然宕机,会丢失最多30s的数据
auto-aof-rewrite-percentage n #aof重写文件增长比例大小为n
auto-aof-rewrite-min-size 64mb #将aof初始化时的文件重写最小文件大小(第一次重写),
#以后的重写不再按照这个值来触发重写机制
关于主从复制的配置将在学习笔记(十二)redis主从复制中讲解。