Redis.conf 配置文件详解

  1. # [Redis](http://yijiebuyi.com/category/redis.html) 配置文件
  2. # 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写)
  3. #
  4. # 1k => 1000 bytes
  5. # 1kb => 1024 bytes
  6. # 1m => 1000000 bytes
  7. # 1mb => 1024*1024 bytes
  8. # 1g => 1000000000 bytes
  9. # 1gb => 1024*1024*1024 bytes
  10. #
  11. # 内存配置大小写是一样的.比如 1gb 1Gb 1GB 1gB
  12. # daemonize no 默认情况下,redis不是在后台运行的,如果需要在后台运行,把该项的值更改为yes
  13. daemonize yes
  14. # 当redis在后台运行的时候,[Redis](http://yijiebuyi.com/so.html?k=redis)默认会把pid文件放在/var/run/redis.pid,你可以配置到其他地址。
  15. # 当运行多个redis服务时,需要指定不同的pid文件和端口
  16. pidfile /var/run/redis.pid
  17. # 指定redis运行的端口,默认是6379
  18. port 6379
  19. # 指定redis只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求,
  20. # 在生产环境中最好设置该项
  21. # bind 127.0.0.1
  22. # Specify the path for the unix socket that will be used to listen for
  23. # incoming connections. There is no default, so Redis will not listen
  24. # on a unix socket when not specified.
  25. #
  26. # unixsocket /tmp/redis.sock
  27. # unixsocketperm 755
  28. # 设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接
  29. # 0是关闭此设置
  30. timeout 0
  31. # 指定日志记录级别
  32. # Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
  33. # debug 记录很多信息,用于开发和测试
  34. # varbose 有用的信息,不像debug会记录那么多
  35. # notice 普通的verbose,常用于生产环境
  36. # warning 只有非常重要或者严重的信息会记录到日志
  37. loglevel debug
  38. # 配置log文件地址
  39. # 默认值为stdout,标准输出,若后台模式会输出到/dev/null
  40. #logfile stdout
  41. logfile /var/log/redis/redis.log
  42. # To enable logging to the system logger, just set 'syslog-enabled' to yes,
  43. # and optionally update the other syslog parameters to suit your needs.
  44. # syslog-enabled no
  45. # Specify the syslog identity.
  46. # syslog-ident redis
  47. # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7.
  48. # syslog-facility local0
  49. # 可用数据库数
  50. # 默认值为16,默认数据库为0,数据库范围在0-(database-1)之间
  51. databases 16
  52. ################################ 快照 #################################
  53. #
  54. # 保存数据到磁盘,格式如下:
  55. #
  56. # save <seconds> <changes>
  57. #
  58. # 指出在多长时间内,有多少次更新操作,就将数据同步到数据文件rdb。
  59. # 相当于条件触发抓取快照,这个可以多个条件配合
  60. #
  61. # 比如默认配置文件中的设置,就设置了三个条件
  62. #
  63. # save 900 1 900秒内至少有1个key被改变
  64. # save 300 10 300秒内至少有300个key被改变
  65. # save 60 10000 60秒内至少有10000个key被改变
  66. save 900 1
  67. save 300 10
  68. save 60 10000
  69. # 存储至本地数据库时(持久化到rdb文件)是否压缩数据,默认为yes
  70. rdbcompression yes
  71. # 本地持久化数据库文件名,默认值为dump.rdb
  72. dbfilename dump.rdb
  73. # 工作目录
  74. #
  75. # 数据库镜像备份的文件放置的路径。
  76. # 这里的路径跟文件名要分开配置是因为redis在进行备份时,先会将当前数据库的状态写入到一个临时文件中,等备份完成时,
  77. # 再把该该临时文件替换为上面所指定的文件,而这里的临时文件和上面所配置的备份文件都会放在这个指定的路径当中。
  78. #
  79. # AOF文件也会存放在这个目录下面
  80. #
  81. # 注意这里必须制定一个目录而不是文件
  82. dir ./
  83. ################################# 复制 #################################
  84. # 主从复制. 设置该数据库为其他数据库的从数据库.
  85. # 设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
  86. #
  87. # slaveof <masterip> <masterport>
  88. # 当master服务设置了密码保护时(用requirepass制定的密码)
  89. # slav服务连接master的密码
  90. #
  91. # masterauth <master-password>
  92. # 当从库同主机失去连接或者复制正在进行,从机库有两种运行方式:
  93. #
  94. # 1) 如果slave-serve-stale-data设置为yes(默认设置),从库会继续相应客户端的请求
  95. #
  96. # 2) 如果slave-serve-stale-data是指为no,出去INFO和SLAVOF命令之外的任何请求都会返回一个
  97. # 错误"SYNC with master in progress"
  98. #
  99. slave-serve-stale-data yes
  100. # 从库会按照一个时间间隔向主库发送PINGs.可以通过repl-ping-slave-period设置这个时间间隔,默认是10秒
  101. #
  102. # repl-ping-slave-period 10
  103. # repl-timeout 设置主库批量数据传输时间或者ping回复时间间隔,默认值是60秒
  104. # 一定要确保repl-timeout大于repl-ping-slave-period
  105. # repl-timeout 60

安全选项

  1. ################################## 安全 ###################################
  2. # 设置客户端连接后进行任何其他指定前需要使用的密码。
  3. # 警告:因为redis速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进行150K次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解
  4. #
  5. # requirepass foobared
  6. # 命令重命名.
  7. #
  8. # 在一个共享环境下可以重命名相对危险的命令。比如把CONFIG重名为一个不容易猜测的字符。
  9. #
  10. # 举例:
  11. #
  12. # rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
  13. #
  14. # 如果想删除一个命令,直接把它重命名为一个空字符""即可,如下:
  15. #
  16. # rename-command CONFIG ""

Redis 约束

  1. ################################### 约束 ####################################
  2. # 设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,
  3. # 如果设置 maxclients 0,表示不作限制。
  4. # 当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息
  5. #
  6. # maxclients 128
  7. # 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key
  8. # Redis同时也会移除空的list对象
  9. #
  10. # 当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作
  11. #
  12. # 注意:Redis新的vm机制,会把Key存放内存,Value会存放在swap区
  13. #
  14. # maxmemory的设置比较适合于把redis当作于类似memcached的缓存来使用,而不适合当做一个真实的DB。
  15. # 当把Redis当做一个真实的数据库使用的时候,内存使用将是一个很大的开销
  16. # maxmemory <bytes>
  17. # 当内存达到最大值的时候Redis会选择删除哪些数据?有五种方式可供选择
  18. #
  19. # volatile-lru -> 利用LRU算法移除设置过过期时间的key (LRU:最近使用 Least Recently Used )
  20. # allkeys-lru -> 利用LRU算法移除任何key
  21. # volatile-random -> 移除设置过过期时间的随机key
  22. # allkeys->random -> remove a random key, any key
  23. # volatile-ttl -> 移除即将过期的key(minor TTL)
  24. # noeviction -> 不移除任何可以,只是返回一个写错误
  25. #
  26. # 注意:对于上面的策略,如果没有合适的key可以移除,当写的时候Redis会返回一个错误
  27. #
  28. # 写命令包括: set setnx setex append
  29. # incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd
  30. # sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby
  31. # zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby
  32. # getset mset msetnx exec sort
  33. #
  34. # 默认是:
  35. #
  36. # maxmemory-policy volatile-lru
  37. # LRU 和 minimal TTL 算法都不是精准的算法,但是相对精确的算法(为了节省内存),随意你可以选择样本大小进行检测。
  38. # Redis默认的灰选择3个样本进行检测,你可以通过maxmemory-samples进行设置
  39. #
  40. # maxmemory-samples 3

其他配置

  1. ############################## AOF ###############################
  2. # 默认情况下,redis会在后台异步的把数据库镜像备份到磁盘,但是该备份是非常耗时的,而且备份也不能很频繁,如果发生诸如拉闸限电、拔插头等状况,那么将造成比较大范围的数据丢失。
  3. # 所以redis提供了另外一种更加高效的数据库备份及灾难恢复方式。
  4. # 开启append only模式之后,redis会把所接收到的每一次写操作请求都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态。
  5. # 但是这样会造成appendonly.aof文件过大,所以redis还支持了BGREWRITEAOF指令,对appendonly.aof 进行重新整理。
  6. # 你可以同时开启asynchronous dumps 和 AOF
  7. appendonly no
  8. # AOF文件名称 (默认: "appendonly.aof")
  9. # appendfilename appendonly.aof
  10. # Redis支持三种同步AOF文件的策略:
  11. #
  12. # no: 不进行同步,系统去操作 . Faster.
  13. # always: always表示每次有写操作都进行同步. Slow, Safest.
  14. # everysec: 表示对写操作进行累积,每秒同步一次. Compromise.
  15. #
  16. # 默认是"everysec",按照速度和安全折中这是最好的。
  17. # 如果想让Redis能更高效的运行,你也可以设置为"no",让操作系统决定什么时候去执行
  18. # 或者相反想让数据更安全你也可以设置为"always"
  19. #
  20. # 如果不确定就用 "everysec".
  21. # appendfsync always
  22. appendfsync everysec
  23. # appendfsync no
  24. # AOF策略设置为always或者everysec时,后台处理进程(后台保存或者AOF日志重写)会执行大量的I/O操作
  25. # 在某些Linux配置中会阻止过长的fsync()请求。注意现在没有任何修复,即使fsync在另外一个线程进行处理
  26. #
  27. # 为了减缓这个问题,可以设置下面这个参数no-appendfsync-on-rewrite
  28. #
  29. # This means that while another child is saving the durability of Redis is
  30. # the same as "appendfsync none", that in pratical terms means that it is
  31. # possible to lost up to 30 seconds of log in the worst scenario (with the
  32. # default Linux settings).
  33. #
  34. # If you have latency problems turn this to "yes". Otherwise leave it as
  35. # "no" that is the safest pick from the point of view of durability.
  36. no-appendfsync-on-rewrite no
  37. # Automatic rewrite of the append only file.
  38. # AOF 自动重写
  39. # 当AOF文件增长到一定大小的时候Redis能够调用 BGREWRITEAOF 对日志文件进行重写
  40. #
  41. # 它是这样工作的:Redis会记住上次进行些日志后文件的大小(如果从开机以来还没进行过重写,那日子大小在开机的时候确定)
  42. #
  43. # 基础大小会同现在的大小进行比较。如果现在的大小比基础大小大制定的百分比,重写功能将启动
  44. # 同时需要指定一个最小大小用于AOF重写,这个用于阻止即使文件很小但是增长幅度很大也去重写AOF文件的情况
  45. # 设置 percentage 为0就关闭这个特性
  46. auto-aof-rewrite-percentage 100
  47. auto-aof-rewrite-min-size 64mb

log文件

  1. ################################## SLOW LOG ###################################
  2. # Redis Slow Log 记录超过特定执行时间的命令。执行时间不包括I/O计算比如连接客户端,返回结果等,只是命令执行时间
  3. #
  4. # 可以通过两个参数设置slow log:一个是告诉Redis执行超过多少时间被记录的参数slowlog-log-slower-than(微妙),
  5. # 另一个是slow log 的长度。当一个新命令被记录的时候最早的命令将被从队列中移除
  6. # 下面的时间以微妙微单位,因此1000000代表一分钟。
  7. # 注意制定一个负数将关闭慢日志,而设置为0将强制每个命令都会记录
  8. slowlog-log-slower-than 10000
  9. # 对日志长度没有限制,只是要注意它会消耗内存
  10. # 可以通过 SLOWLOG RESET 回收被慢日志消耗的内存
  11. slowlog-max-len 1024

限制

  1. ############################### ADVANCED CONFIG ###############################
  2. # 当hash中包含超过指定元素个数并且最大的元素没有超过临界时,
  3. # hash将以一种特殊的编码方式(大大减少内存使用)来存储,这里可以设置这两个临界值
  4. # Redis Hash对应Value内部实际就是一个HashMap,实际这里会有2种不同实现,
  5. # 这个Hash的成员比较少时Redis为了节省内存会采用类似一维数组的方式来紧凑存储,而不会采用真正的HashMap结构,对应的value redisObject的encoding为zipmap,
  6. # 当成员数量增大时会自动转成真正的HashMap,此时encoding为ht。
  7. hash-max-zipmap-entries 512
  8. hash-max-zipmap-value 64
  9. # list数据类型多少节点以下会采用去指针的紧凑存储格式。
  10. # list数据类型节点值大小小于多少字节会采用紧凑存储格式。
  11. list-max-ziplist-entries 512
  12. list-max-ziplist-value 64
  13. # set数据类型内部数据如果全部是数值型,且包含多少节点以下会采用紧凑格式存储。
  14. set-max-intset-entries 512
  15. # zsort数据类型多少节点以下会采用去指针的紧凑存储格式。
  16. # zsort数据类型节点值大小小于多少字节会采用紧凑存储格式。
  17. zset-max-ziplist-entries 128
  18. zset-max-ziplist-value 64
  19. # Redis将在每100毫秒时使用1毫秒的CPU时间来对redis的hash表进行重新hash,可以降低内存的使用
  20. #
  21. # 当你的使用场景中,有非常严格的实时性需要,不能够接受Redis时不时的对请求有2毫秒的延迟的话,把这项配置为no。
  22. #
  23. # 如果没有这么严格的实时性要求,可以设置为yes,以便能够尽可能快的释放内存
  24. activerehashing yes
  25. ################################## INCLUDES ###################################
  26. # 指定包含其它的配置文件,可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各个实例又拥有自己的特定配置文件
  27. # include /path/to/local.conf
  28. # include /path/to/other.conf
  29. ```<p style="color:white;">出自:<a style="color:white;" href="http://yijiebuyi.com/blog/bc2b3d3e010bf87ba55267f95ab3aa71.html" >Redis 配置文件 redis.conf 项目详解</a></p>
 

Redis 配置文件 redis.conf 项目详解的更多相关文章

  1. Nginx配置文件nginx.conf中文详解(转)

    ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...

  2. Nginx 配置文件nginx.conf中文详解

    ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...

  3. Nginx配置文件nginx.conf中文详解【转】

    PS:Nginx使用有两三年了,现在经常碰到有新用户问一些很基本的问题,我也没时间一一回答,今天下午花了点时间,结合自己的使用经验,把Nginx的主要配置参数说明分享一下,也参考了一些网络的内容,这篇 ...

  4. redis配置文件中常用配置详解

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/suprezheng/article/de ...

  5. Nginx的配置文件nginx.conf配置详解

    user nginx nginx; #Nginx用户及组:用户 组.window下不指定 worker_processes 8; #工作进程:数目.根据硬件调整,通常等于CPU数量或者2倍于CPU. ...

  6. Nginx_配置文件nginx.conf配置详解

    user nginx nginx ; # Nginx用户及组:用户 组.window下不指定 worker_processes 8; # 工作进程:数目.根据硬件调整,通常等于CPU数量或者2倍于CP ...

  7. Nginx配置文件nginx.conf中文详解

    #定义Nginx运行的用户和用户组user www www; #nginx进程数,建议设置为等于CPU总核心数.worker_processes 8; #全局错误日志定义类型,[ debug | in ...

  8. (总结)Nginx配置文件nginx.conf中文详解

    #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processes 8; #全局错误日志定义类型,[ debug | ...

  9. Nginx配置文件nginx.conf中文详解(总结)

     PS:这篇是目前最完整的Nginx配置参数中文说明.更详细的模块参数请参考:http://wiki.nginx.org/Main                 #定义Nginx运行的用户和用户组 ...

随机推荐

  1. MATLAB 实用函数

    MATLAB个人工具箱(MATLAB) mymail.m 可以利用MATLAB发送邮件(支持附件和群发),非常实用的函数,适用于:耗时很长的脚本完成后通知作者:外加定时器后用于信息推送:家庭监视器紧急 ...

  2. 【转载】linux环境下tcpdump源代码分析

    linux环境下tcpdump源代码分析 原文时间 2013-10-11 13:13:02  CSDN博客 原文链接  http://blog.csdn.net/han_dawei/article/d ...

  3. 关于NopCommerce3.6版用户登录详解

    一.登录方式 Nop登录方式有两种(且只能选择一种方式登录):一种是用用户名登录,另一种是用户注册邮箱登录,这个在后台可配置: 第一种:用户名登录 后台配置路径在商城设置à设置管理à客户设置:使用用户 ...

  4. 创建母版页导致js出现“ 'document.getElementById(...)' 为空或不是对象”错误

    导读:一个控件在设计时的ID往往不同于生成页面后的ID,为了获得控件客户端ID,我们可以从生成的页面入手,冷静思考,把握主次,从底层框架入手 本文将为大家介绍一下 ASP.NET中在创建母版页时引来的 ...

  5. SWFUpload使用指南

    SWFUpload是一个flash和js相结合而成的文件上传插件,其功能非常强大. SWFUpload的特点: 1.用flash进行上传,页面无刷新,且可自定义Flash按钮的样式; 2.可以在浏览器 ...

  6. Windows Phone开发(12):认识一下独具个性的磁贴(转)

    对"磁贴"的理解是一点也不抽象的,为什么呢?只要你愿意启动WP系统,无论你是在模拟器中还是在真机中,是的,桌面上那一块块像地板的玩意儿,就是磁贴了.(图:磁贴) 在上图中,我们很直 ...

  7. 如果公司里有上百个表要做触发器,如果手动写代码的话。很累,所以今天写了一个小程序,自动生成mysql的触发代码。

    <?php $dbname = 'test';//数据库 $tab1 = 'user'; //执行的表 $tab2 = 'user_bak'; //被触发的表 $conn = mysql_con ...

  8. .NET中使用log4net

    一,加载log4net引用 下载log4net.dll,我们这里使用的是.NET2.0 下载地址:http://files.cnblogs.com/gosky/log4net-1.2.13-bin-n ...

  9. ADO.NET中的Connection详解

    连接字符串 1.写法一 "Data Source=服务器名; Initial Catalog=数据库; User ID =用户名; Password=密码; Charset=UTF8; &q ...

  10. MySQL安装图文教程

    下载 1.下载地址: http://www.mysql.com/downloads/ 2.下载图解 下载社区版本就可以,社区版里有我们的想要的几乎全部功能.只不过 商业版的mysql会提供一定高级的解 ...