新安装的redis,用默认的redis.conf文件,我们的启动是如下:
# /usr/local/redis/redis-server /etc/redis.conf
这是因为默认的配置文件是前台启动,我们需要把aemonize参数改为yes,改为后台启动。
下面我们来看一下配置文件:
vi /etc/redis.conf
# 默认Rdis不会作为守护进程运行。如果需要的话配置成'yes'
daemonize no
# 当以守护进程方式运行时,默认Redis会把进程ID写到 /var/run/redis.pid
pidfile /var/run/redis.pid
# 接受连接的特定端口,默认是6379
port 6379
# TCP listen() backlog.
# 在高并发环境下你需要一个高backlog值来避免慢客户端连接问题。注意Linux内核默默地将这个值减小
# 到/proc/sys/net/core/somaxconn的值,所以需要确认增大somaxconn和tcp_max_syn_backlog
# 两个值来达到想要的效果。
tcp-backlog 511
# 一个客户端空闲多少秒后关闭连接。(0代表禁用,永不关闭)
timeout 0
# TCP keepalive.
# 如果非零,则设置SO_KEEPALIVE选项来向空闲连接的客户端发送ACK,由于以下两个原因这是很有用的:
# 1)能够检测无响应的对端
# 2)让该连接中间的网络设备知道这个连接还存活
# 在Linux上,这个指定的值(单位:秒)就是发送ACK的时间间隔。
# 注意:要关闭这个连接需要两倍的这个时间值。
# 在其他内核上这个时间间隔由内核配置决定
# 这个选项的一个合理值是60秒
tcp-keepalive 0
# 指定服务器调试等级为notice (适量的信息,基本上是你生产环境中需要的)
loglevel notice
# 指明日志文件名。
logfile ""
# 设置数据库个数
databases 16
# 下面的例子将会进行把数据写入磁盘的操作:
# 900秒(15分钟)之后,且至少1次变更
# 300秒(5分钟)之后,且至少10次变更
# 60秒之后,且至少10000次变更
save 900 1
save 300 10
save 60 10000
# 默认如果开启RDB快照(至少一条save指令)并且最新的后台保存失败,Redis将会停止接受写操作
# 这将使用户知道数据没有正确的持久化到硬盘,否则可能没人注意到并且造成一些灾难。
# 如果后台保存进程能重新开始工作,Redis将自动允许写操作
# 然而如果你已经部署了适当的Redis服务器和持久化的监控,你可能想关掉这个功能以便于即使是
# 硬盘,权限等出问题了Redis也能够像平时一样正常工作
stop-writes-on-bgsave-error yes
# 当导出到 .rdb 数据库时是否用LZF压缩字符串对象
rdbcompression yes
# 生成的关闭校验的RDB文件有一个0的校验和,它将告诉加载代码跳过检查
rdbchecksum yes
# 持久化数据库的文件名
dbfilename dump.rdb
# 工作目录
dir ./
# 主从同步。通过 slaveof 指令来实现Redis实例的备份
slave-serve-stale-data yes
# 从Redis2.6默认所有的slave为只读
slave-read-only yes
# 在slave套接字发送SYNC之后禁用 TCP_NODELAY
repl-disable-tcp-nodelay no
# slave的优先级是一个整数展示在Redis的Info输出中。如果master不再正#常工作了,哨兵将用它来
# 选择一个slave提升=升为master。
# 默认优先级为100
slave-priority 100
#启用AOF和RDB持久性,如果又一个或者多个写入点时,在写入点和写入点之#间的时间
#里所有add的键值回丢失,如果启用此特性,redis会将add的值先写入到附#加文件中,此参数默认就是启用这个特性
appendonly no
# OAF文件的文件名
appendfilename "appendonly.aof"
# everysec: 每一秒进行调用FSYNC进行写入
appendfsync everysec
#如果磁盘性能问题比较慢,将其设置为yes,磁盘I/O比较宽裕则设置为no数#据比较安全
no-appendfsync-on-rewrite no
# OAF文件的写规则,如果达到64M的百分之百就停止写入
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
#执行一个LUA脚本时的最大时间,防止死循环等等,设置为0是没有限制,单#位为秒
lua-time-limit 5000
#redias的慢查询记录
slowlog-log-slower-than 10000
#这个长度没有限制。只是要主要会消耗内存。你可以通过 SLOWLOG RESET 来回#收内存
slowlog-max-len 128
# notify-keyspace-events 带一个由0到多个字符组成的字符串参数。空字符
#串意思是通知被禁用
notify-keyspace-events ""
# 当hash只有少量的entry时,并且最大的entry所占空间没有超过指定的限#制时,会用一种节省内存的
# 数据结构来编码。可以通过下面的指令来设定限制
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
# 与hash似,数据元素较少的list,可以用另一种方式来编码从而节省大量空#间。
# 这种特殊的方式只有在符合下面限制时才可以用
list-max-ziplist-entries 512
list-max-ziplist-value 64
# set有一种特殊编码的情况:当set数据全是十进制64位有符号整型数字构#成的字符串时。
# 下面这个配置项就是用来设置set使用这种编码来节省内存的最大长度。
set-max-intset-entries 512
# 与hash和list相似,有序集合也可以用一种特别的编码方式来节省大量空间。
# 这种编码只适合长度和元素都小于下面限制的有序集合
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
#重建hash表的时候如果内存不足 如果此值设置为no则延时,如果为yes则尽#快释放内存
activerehashing yes
#客户端限制,normal -> 正常客户端,slave -> 从客户端或者监控客户端,pubsub -> 订阅或者发布客户端
client-output-buffer-limit normal 0 0 0
#slave客户端 buffer硬限制为256M,软限制为64MB/60秒 就断开连接
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
一个任务可以使用的cpu数目
hz 10
# 当一个子进程重写AOF文件时,如果启用下面的选项,则文件每生成32M数据#会被同步。为了增量式
# 写入硬盘并且避免大的延迟高峰这个指令是非常有用的
aof-rewrite-incremental-fsync yes
如果是开发,简单的使用,只需要把aemonize参数改为yes,其他默认即可。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29806344/viewspace-1412679/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29806344/viewspace-1412679/