设为首页 收藏本站
查看: 1504|回复: 0

[经验分享] redis config配置详解

[复制链接]

尚未签到

发表于 2018-11-2 09:39:54 | 显示全部楼层 |阅读模式
  我们先看看config 默认情况下系统是怎么配置的。在命令行中输入 config get *
  127.0.0.1:6370> config get *
  1) "dbfilename"
  2) "dump6370.rdb"
  3) "requirepass"
  4) ""
  5) "masterauth"
  6) ""
  7) "unixsocket"
  …………
  默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息。
  我们就从上到下来理解一下这些配置信息中的某些配置:
  1.dbfilename是本地持久化存储数据库文件名,默认为dump.rdb。我可以在安装目录文件夹下找到这个文件。
  2.requirepass是密码,即连接服务器的密码,默认为空。下面我来设置一个密码然后用带密码的命令连接一遍。
  3.msterauth设置连接mster服务的密码(主从服务器的主服务器)。
  4.logfile日记记录的地址及文件名称。
  5.maxmemory 设置最大内存
  6.timeout一个客户端闲置多少秒后关闭,默认是0,代表禁止,永不关闭
  7.auto-aof-rewrite-percentage AOF重写文件的百分比,如果是100表示整个文件重写,如果是0表示禁用AOF自动重写特性
  8.auto-aof-rewrite-min-size 当前AOF文件大于多少是开始重写AOF文件
  9.hash-max-zipmap-entries 512 配置字段最多512个。
  10.hash-max-zipmap-value 64 配置value最大为64字节。
  11.list-max-ziplist-entries 512  配置list最大长度512个
  12.list-max-ziplist-value 64 配置list的value最大长度64字节
  13.set-max-intset-entries 512 配置set最大长度512个
  14.zset-max-ziplist-entries 128 配置zset最大长度512个
  15.zset-max-ziplist-value 64 配置zset的value最大长度64字节
  16.slowlog-log-slower-than 10000 配置这个告诉redis当一个命令执行超过多少时会被记录,单位是微秒。被记录的命令我们可以通过查看slowlog get 100(number) 查看
  17.slowlog-max-len 128 设置日记记录的条数
  18.port 6379 端口号为6379
  19.databases 16 当前redis服务器有16个数据库
  20.repl-ping-slave-period 10 salve根据时间间隔向master发送ping请求,默认是10秒。
  21.repl-timeout 60 设置同步的超时时间 默认60秒
  22.repl-backlog-size 1mb 设置数据备份的backlog大小,当一个slave在一段时间断开连接时记录salve数据的缓冲,当它重新连接时,不必同步全部数据。
  23.repl-backlog-ttl 3600 当slave在一段时间断开后多少时间我们释放backlog中的数据。
  24.maxclients 10000 最大同时连接的客户端数量
  25.slave-priority 100 slave优先级,如果master不再正常工作了,哨兵将用它来选择一个slave提升为master。数字越小 优先级越高,但是数字为0时这个slave永远不会提升为master。
  26.min-slaves-to-write N与min-slaves-max-lag M是一起设置的。表示如果master少于N个延迟小于等于M秒的已连接slave,就可以停止接收写操作。
  27.slave-server-stale-date yes 当一个slave失去可master的连接时,或者正在进行同步中,我们设置slave-server-stale-date为yes表示slave会继续响应客户端请求,可能是正常数据,也可能是还没有获取值的空数据。如果我们设置slave-server-stale-date为no表示slave会"正在从matser同步(SYNC with master in prograess)"
  28.slave-read-only yes 设置你的slave服务是否为只读
  29.stop-write-on-bgsave-error yes 如果开启RDB并且最新的后台保存失败,将禁止用户对redis进行写的操作,提示用户保存失败了
  30.daemonize no 默认在window下不支持这个配置,在linux下可以。表示默认redis不会作为守护进程运行。如果配置为yes就是守护进程,如果设置为守护进程就需要了解这个配置pidfile /var/run/redis.pid 配置守护进程的位置。
  31.rdbcompression yes当导出rdb文件时是否用LZF压缩字符串对象。默认是yes,因为它几乎在任何情况下都是不错的,但是如果我们想节省CPU的话可以设置no,但是如果你有压缩了数据文件就会更大了。
  32.rdbchecksum yes 是否添加一个校验放在文件最后,多消耗10%的性能。所有我们可以关掉它来提高性能。
  33.aof-rewrite-incremental-fsnc yes 当一个子进程重写AOF文件时,如果启用,则文件每生成32M数据会被同步。为了增量式的写入硬盘并且避免大的延迟高峰这个指令是非常有用的。
  34.dir 数据库工作的目录。
  35.maxmemmory-policy volatile-lru 内存达到上线删除key的策略

volatile-lru -> 根据LRU算法生成的过期时间来删除。
  

    # allkeys-lru -> 根据LRU算法删除任何key。  # volatile-random -> 根据过期设置来随机删除key。
  # allkeys->random -> 无差别随机删。
  # volatile-ttl -> 根据最近过期时间来删除(辅以TTL)
  # noeviction -> 谁也不删,直接在写操作时返回错误。3
  
36.appendfsync everysec fsync() 系统调用告诉操作系统把数据写到磁盘上,而不是等更多的数据进入输出缓冲区。
  # Redis支持三种不同的模式:
  # no:不要立刻刷,只有在操作系统需要刷的时候再刷。比较快。
  # always:每次写操作都立刻写入到aof文件。慢,但是最安全。
  # everysec:每秒写一次。折中方案。
  37.save 900 1 save 300 10 save 60 10000 把数据库存在磁盘上
  #   会在指定秒数和数据变化次数之后把数据库写到磁盘上。
  #
  #   下面的例子将会进行把数据写入磁盘的操作:
  #   900秒(15分钟)之后,且至少1次变更
  #   300秒(5分钟)之后,且至少10次变更
  #   60秒之后,且至少10000次变更
  
38.loglevel notice
  # 指定服务器调试等级
  # 可能值:
  # debug (大量信息,对开发/测试有用)
  # verbose (很多精简的有用信息,但是不像debug等级那么多)
  # notice (适量的信息,基本上是你生产环境中需要的)
  # warning (只有很重要/严重的信息会记录下来)
  
39.client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60.
  # 客户端的输出缓冲区的限制,可用于强制断开那些因为某种原因从服务器读取数据的速度不够快的客户端,
  # (一个常见的原因是一个发布/订阅客户端消费消息的速度无法赶上生产它们的速度)
  #
  # 可以对三种不同的客户端设置不同的限制:
  # normal -> 正常客户端
  # slave -> slave和 MONITOR 客户端
  # pubsub -> 至少订阅了一个pubsub channel或pattern的客户端
  
40.slaveof 127.0.0.1 6379 指定master服务的地址端口
  
41.bind    默认情况下所有网络都不访问,如果设置了bind就可以控制访问的网络。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-629669-1-1.html 上篇帖子: 搭建Redis 集群,测试集群:对节点主机重新分片 下篇帖子: Redis主从复制结构模式,哨兵模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表