以目前redis的最新版本为例,具体的安装过程见:



Redis在服务启动的时候选择加载配置文件,例如:

./redis-server /path/redis.conf



1、daemonize yes

默认redis不是以后台进程的方式启动,如果需要在后台运行,需要将这个值设置成yes ;

以后台方式启动的时候,redis会写入默认的进程文件/var/run/redis.pid;


2、pidfile /var/run/redis.pid

当redis在后台运行的时候,Redis默认会把pid文件放在/var/run/redis.pid,你可以配置到其他地址。


3、port 6379

redis运行的端口,默认为6379

如果是在一台服务器上运行多个redis实例,则需要指定不同的pidfile和port


4、bind 127.0.0.1

IP地址绑定,设置后只接收列表中的IP地址的连接请求;


5、timeout 0

客户端连接超时时间,单位为秒


6、loglevel debug

redis日志记录级别,总共支持四个级别:debug、verbose、notice、warning,默认为verbose

debug 记录很多信息,用于开发和测试
varbose 有用的信息,不像debug会记录那么多
notice 普通的verbose,常用于生产环境
warning 只有非常重要或者严重的信息会记录到日志


7、logfile /var/log/redis/redis.log

redis的日志输出文件地址


8、save

save 900 1     # 900秒内有至少1个键被更改则进行快照  
save 300 10   # 300秒内有至少10个键被更改则进行快照  
save 60 10000   # 60秒内有至少10000个键被更改则进行快照  

当符合一定条件时Redis会自动将内存中的所有数据进行快照并存储在硬盘上。进行快照的条件可以由用户在配置文件中自定义,由两个参数构成:时间和改动的键的个数。


9、dir/usr/local/redis/data

redis持久化数据文件存储目录


10、stop-writes-on-bgsave-error no

持久化失败处理方式,如果设置为yes,一旦快照数据保存失败,则会标记当前服务为只读,终止所有客户端的写入请求;


11、dbfilename dump.rdb

镜像备份文件的文件名


12、maxclients 10000

设置同时连接的客户端数量


13、maxmemory 0

设置redis能够使用的最大内存,0为不限制


14、maxmemory-policy volatile-lru

设置内存过期策略以及内存不足时的内存清楚策略,默认为volatile-lru;

volatile-lru:对"过期集合"中的数据采取LRU(近期最少使用)算法。如果对key使用"expire"指令指定了过期时间,那么此key将会被添加到"过期集合"中;

allkeys-lru:对所有的数据,采用LRU算法;

volatile-random:对"过期集合"中的数据采取"随即选取"算法,并移除选中的K-V,直到"内存足够"为止;

volatile-ttl:对"过期集合"中的数据采取TTL算法(最小存活时间),移除即将过期的数据;
noeviction:不做任何干扰操作,直接返回OOM异常;


15、lua-time-limit 5000

设置lua脚本执行的最大时间,单位毫秒


16、hash-max-ziplist-entries 512

ziplist中允许存储的最大条目个数,默认为512,建议为128  

17、hash-max-ziplist-value 64

ziplist中允许条目value值最大字节数,默认为64,建议为1024


18、list-max-ziplist-entries 512  

同上

19、list-max-ziplist-value 64 

同上


20、set-max-intset-entries 512

intset中允许保存的最大条目个数,如果达到阀值,intset将会被重构为hashtable


21、zset-max-ziplist-entries 128

同上


22、zset-max-ziplist-value 64

同上


23、activerehashing yes 

是否开启顶层数据结构的rehash功能,如果内存允许,请开启。rehash能够很大程度上提高K-V存取的效率。