以目前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存取的效率。