redis 配置(单机)

redis 配置(单机)

说明:以下为redis.conf配置说明,可根据关键字在文件中查找。
启动
后台启动:表示退出启动界面仍然运行 ,否则服务随启动界面的关闭而关闭
daemonize no 不是后台启动(默认)
daemonize yes 后台启动

pid
redis以后台进程运行的时候,Redis默认会把pid写入/var/run/redis.pid文件组
pidfile /var/run/redis.pid redis.pid 可以重新命名

端口
指定redis监听端口,默认为6379
port 6379

保护模式
protected-mode yes 开启保护模式,此时需要设置端口和密码,no 所有都可以连接(不安全)
指定redis只接收来自于该IP地址的请求,如果不进行设置,默认将处理所有ip的请求,
bind 127.0.0.1 ------bind 0.0.0.0 等同于不限制ip

密码
requirepass 123456

客户端超时
在客户端空闲N秒后关闭连接, 设置0表示不关闭
timeout 0

健康连接检查 单位是秒
表示将周期性的使用SO_KEEPALIVE检测客户端是否还处于健康状态,避免服务器一直阻塞,官方给出的建议值是300s,如果设置为0,则不会周期性的检测
tcp-keepalive 300

日志
debug 记录很多信息,用于开发和测试
varbose 很多精简的有用信息,不像debug会记录那么多
notice 普通的verbose,常用于生产环境 (默认)
warning 只有非常重要或者严重的信息会记录到日志
loglevel notice
syslog-enabled:是否把日志输出到系统日志中,默认是no
日志文件名称
logfile /var/redis/log/redis_6379.log

数据库数量
默认数量为16 ,默认的数据库是DB 0
databases 16

持久化机制
RDB:(默认) 数据以快照的方式写入二进制文件中,默认的文件名是dump.rdb
AOF:以 Redis 协议的格式来保存,新命令会被追加到文件的末尾
数据允许丢失小部分选RDB,否则AOF,AOF也有可能丢失极少部分,AOF影响redis效率
2种机制区别参考:https://www.jb51.net/article/121848.htm
appendonly no #no修改为yes则为AOF,AOF和RDB持久性可以同时启用
AOF:默认文件名appendonly.aof
always: 每次操作都会立即写入aof文件中(效率影响较大
everysec: 每秒持久化一次(默认配置)
no: 不主动进行同步操作,默认30s一次
appendfsync everysec

持久化
900秒(15分钟)后,如果至少有一个键被改变
300秒后(5分钟)如果至少有10个键被改变
60秒后,如果至少改变了10000个键
save 900 1
save 300 10
save 60 10000(可自行追加,注释所有则不开启持久化)

持久化数据库的文件名
dbfilename dump.rdb

持久化数据库的文件目录
dir /usr/local/

最大并发连接
maxclients 10000

最大内存
单位:bytes 字节类型
maxmemory 1024000000 1G

内存删除
如果达到内存限制了,Redis如何删除key
volatile-lru -> 根据LRU算法生成的过期时间来删除。
allkeys-lru -> 根据LRU算法删除任何key。
volatile-random -> 根据过期设置来随机删除key。
allkeys->random -> 无差别随机删。
volatile-ttl -> 根据最近过期时间来删除(辅以TTL)
noeviction -> 谁也不删,直接在写操作时返回错误。
LRU是最近最少使用的
LFU表示使用频率最低
maxmemory-policy noeviction