redis 一般配置

来源:互联网 发布:深空失忆知乎 编辑:程序博客网 时间:2024/06/16 19:50

默认情况下,Redis并不是以daemon形式来运行的。通过daemonize配置项可以控制Redis的运行形式,如果改为yes,那么Redis就会以daemon形式运行:
daemonize no
当以daemon形式运行时,Redis会生成一个pid文件,默认会生成在/var/run/Redis.pid。当然,可以通过pidfile来指定pid文件生成的位置,比如:
pidfile /path/to/Redis.pid
默认情况下,Redis会响应本机所有可用网卡的连接请求。当然,Redis允许通过bind配置项来指定要绑定的IP,比如:
bind 192.168.1.2 10.8.4.2
Redis的默认服务端口是6379,可以通过port配置项来修改。如果端口设置为0的话,Redis便不会监听端口了。
port 6379
可是,如果Redis不监听端口,还怎么与外界通信呢?其实Redis还支持通过unix socket方式来接收请求。可以通过unix socket配置项来指定unix socket文件的路径,并通过unix socket perm来指定文件的权限。
unixsocket /tmp/Redis.sock
unixsocketperm 700

在高QPS的环境下需要提高backlog的值来避免TCP的慢连接问题。想要提高backlog的值,除了需要设置Redis的tcp-backlog,还要同时提高更改Linux的配置,否则,Linux内核会默认将其截取为/proc/sys/net/core/somaxconn的大小。
tcp-backlog 511
当一个Redis-client一直没有请求发向server端,那么server端有权主动关闭这个连接,可以通过timeout来设置“空闲超时时限”,0表示永不关闭。
timeout 0
TCP连接保活策略,可以通过tcp-keepalive配置项来进行设置,单位为秒,假如设置为60秒,则server端会每60秒向连接空闲的客户端发起一次ACK请求,以检查客户端是否已经挂掉,对于无响应的客户端则会关闭其连接。所以关闭一个连接最长需要120秒的时间。如果设置为0,则不会进行保活检测。
tcp-keepalive 0
Redis支持通过loglevel配置项设置日志等级,共分四级,即debug、verbose、notice、warning。
loglevel notice
Redis也支持通过logfile配置项来设置日志文件的生成位置。如果设置为空字符串,则Redis会将日志输出到标准输出。假如在daemon情况下将日志设置为输出到标准输出,则日志会被写到/dev/null中。
logfile “”
如果希望日志打印到syslog中,也很容易,通过syslog-enabled来控制。另外,syslog-ident还可以指定syslog里的日志标志,比如:
syslog-ident Redis
而且还支持指定syslog设备,值可以是USER或LOCAL0-LOCAL7。具体可以参考syslog服务本身的用法。
syslog-facility local0
对于Redis来说,可以设置其数据库的总数量,假如希望一个Redis包含16个数据库,那么设置如下:
databases 16
这16个数据库的编号将是0到15。默认的数据库是编号为0的数据库。用户可以使用select 来选择相应的数据库。

参考资料:http://blog.csdn.net/u012152619/article/details/52821201