配置文件

Redis 配置文件说明

  • /etc/redis.conf
bind 0.0.0.0 #0.0.0.0表示监听所有IP,也可以用空格隔开后监听多个IP,默认是只允许本机

protected-mode yes #redis3.2之后加入的新特性,在没有设置bind IP和密码的时候,redis只允许访问127.0.0.1:6379,可以远程连接,但当访问将提示警告信息并拒绝远程访问,yes启用 no禁用(即允许远程空密码连接)

port 6379 #redis的默认监听端口端口号 TCP/6379

tcp-backlog 511 #三次握手的时候server端收到client ack确认号之后的队列值,即全连接队列长度,建议优化内核参数
#半连接:用户发起请求报文syn,服务器响应后,用户没有第三次握手的回应(默认只能接受128个)
#全连接队列:(默认也是128个)

timeout 0 #客户端和redis服务端的连接超时时间,默认是0,0表示永不超时

tcp-keepalive 300 #tcp会话保持时间,默认300s

daemonize yes #守护进程,no表示以前台运行

loglevel notice #日志记录级别

logfile "/apps/redis/log/redis.log" #指定日志记录位置,默认没有没有,需要指定

databases 16 #设置数据库数量,默认:0-15,共16个库,通常只用0库就够了

always-show-logo yes #在启动redis时,是否显示或在日志中记录redis的logo

supervised no #和os相关参数,可设置通过upstart和systemd管理redis守护进程,centos7后都使用systemd

pidfile /var/run/redis_6379.pid #进程路径,可修改为/apps/redis/run/redis_6379.pid

# requirepass foobared
requirepass passwd #设置登录密码

# maxclients 10000
redis最大连接客户端的数量,默认10000

#重要!
# maxmemory <bytes>
redis使用的最大内存,单位为bytes字节,0为不限制,建议设置为物理内存的一半,需要注意的是缓冲区是不计算maxmemory内,生产中如果不设置此项,可能会导致OOM(内存满后乱杀进程)而redis通常是占用内存最高的程序 所以极有可能宕掉
#8G内存的计算方式:8(G)*1024(MB)*1024(KB)*1024(bytes)/2
#1G内存的计算方式:echo 2^20*1024/2|bc


#持久化策略(参阅redis持久化)
...


# 多线程
...

Redis 动态修改配置文件

config命令用于查看当前redis配置、以及不重启redis服务实现动态修改redis配置等

注意

  • 此方式无法永久保存,需配合修改配置文件来防止重启后失效
  • 不是所有配置都可以动态修改
#以下针对的都是info中的项

------------------------------------------------------------------------------
#GET表示查看
127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "/apps/redis/data"
127.0.0.1:6379> CONFIG GET maxmemory
1) "maxmemory"
2) "536870912"
127.0.0.1:6379> CONFIG GET *mem* #支持通配符
 1) "maxmemory"
 2) "209715200"
 3) "maxmemory-samples"
 4) "5"
 5) "slave-ignore-maxmemory"
 6) "yes"
 7) "replica-ignore-maxmemory"
 8) "yes"
 9) "maxmemory-policy"
10) "noeviction"

------------------------------------------------------------------------------
#SET表示动态修改
#修改前查看
127.0.0.1:6379> CONFIG GET maxmemory
1) "maxmemory"
2) "536870912"
#修改
127.0.0.1:6379> [root@8 ~]# vim /apps/redis/etc/redis.conf 
OK
#修改后查看
127.0.0.1:6379> CONFIG GET maxmemory
1) "maxmemory"
2) "268435456"
#修改后不要忘记修改配置文件,否则重启后会失效
[root@8 ~]# vim /apps/redis/etc/redis.conf
...
maxmemory 268435456
...