Redis配置文件参数说明(redis.conf)

流楚丶格念 2021-07-20 04:19:04
redis


  1. daemonize no
    默认情况下,redis不是在后台运行的。如果需要在后台运行,把该项的值更改为yes。

  2. pidfile /var/run/redis.pid
    当redis在后台运行的时候,redis默认会把pid文件放在/var/run/redis.pid,你可以配置到其他位置。当运行多个redis服务时,需要指定不同的pid文件和端口。

  3. port 6379
    指定redis运行的端口,默认是6379。

  4. bind 127.0.0.1
    指定redis只接收来自于该IP地址的请求看,如果不进行设置,那么将处理所有请求。在生产环境中最好设置该项。

  5. loglevel debug
    指定日志记录级别,其中redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose。
    1 . debug表示记录很多信息,用于开发和测试
    2.verbose表示记录有用的信息, 但不像debug会记录那么多
    3.notice表示普通的verbose,常用于生产环境
    4.warning 表示只有非常重要或者严重的信息会记录到日志

  6. logfile /var/log/redis/redis.log
    配置log文件地址,默认值为stdout。若后台模式会输出到/dev/null。

  7. databases 16
    可用数据库数,默认值为16,默认数据库为0,数据库范围在0~15之间切换,彼此隔离。

  8. save
    保存数据到磁盘,格式为save,指出在多长时间内,有多少次更新操作,就将数据同步到数据文件rdb。相当于条件触发抓取快照,这个可以多个条件配合。
    save 9001就表示900秒内至少有1个key被改变就保存数据到磁盘。

  9. rdbcompression yes
    存储至本地数据库时(持久化到rdb文件)是否压缩数据,默认为yes。

  10. dbfilename dump.rdb
    本地持久化数据库文件名,默认值为dump.rdb。

  11. dir ./
    工作目录,数据库镜像备份的文件放置的路径。这里的路径跟文件名要分开配置是因为redis在进行备份时,先会将当前数据库的状态写入到一个临时文件中,等备份完成时,再把该临时文件替换为上面所指定的文件。 而这里的临时文件和上面所配置的备份文件都会放在这个指定的路径当中,AOF文件也会存放在这个目录下面。 注意这里必须指定一个目录而不是文件。

  12. slaveof
    主从复制,设置该数据库为其他数据库的从数据库。设置当本机为slave服务时,设置master服务的IP地址及端口。 在redis启动时,它会自动从master进行数据同步。

  13. masterauth
    ​当master服务设置了密码保护时(用requirepass制定的密码)slave服务连接master的密码。

  14. slave-serve-stale-data yes
    当从库同主机失去连接或者复制正在进行,从机库有两种运行方式:
    如果slave-serve-stale-data设置为 yes(默认设置),从库会继续相应客户端的请求。
    如果slave-serve-stale-data是指为no,除去INFO和SLAVOF命令之外的任何请求都会返回一个错误"SYNC with master in progress"。

  15. repl-ping-slave-period 10
    从库会按照一个时间间隔向主库发送PING,可以通过repl-ping-slave-period设置这个时间间隔,默认是10秒。

  16. repl-timeout 60
    设置主库批量数据传输时间或者ping回复时间间隔,默认值是60秒,一定要确保repl-timeout大于repl-ping-slave-period。

  17. requirepass foobared
    设置客户端连接后进行任何其他指定前需要使用的密码。因为redis速度相当快,所以在一台比较好的服务器平台下, 一个外部的用户可以在一秒钟进行150K次的密码尝试,这意味着你需要指定非常强大的密码来防止暴力破解。

  18. rename​command CONFIG “”
    命令重命名,在一个共享环境下可以重命名相对危险的命令,比如把CONFIG重名为一个不容易猜测的字符:
    rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
    如果想删除一个命令,直接把它重命名为一个空字符""即可:rename-command CONFIG “”。

  19. maxclients 128
    设置同一时间最大客户端连接数,默认无限制。redis可以同时打开的客户端连接数为redis进程可以打开的最大文件描述符数。
    如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,redis会关闭新的连接并向客户端返回max number of clients reached错误信息。

  20. maxmemory
    指定redis最大内存限制。redis在启动时会把数据加载到内存中,达到最大内存后,redis会先尝试清除已到期或即将到期的key,redis同时也会移除空的list对象。当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。
    注意:redis新的vm机制,会把key存放内存,value会存放在swap区。

  21. maxmemory-policy volatile-lru
    当内存达到最大值的时候redis会选择删除哪些数据呢?有五种方式可供选择:
    1.volatile-lru代表利用LRU算法移除设置过期时间的key(LRU:最近使用LeastRecentlyUsed)
    2.allkeys-lru代表利用LRU算法移除任何key
    3.volatile-random代表移除设置过过期时间的随机key
    4.allkeys_random代表移除一个随机的key
    5. volatile-ttl代表移除即将过期的key(minor TTL)
    6. noeviction代表不移除任何key,只是返回一个写错误
    注意:对于上面的策略,如果没有合适的key可以移除,写的时候redis会返回一个错误。

  22. appendonly no
    默认情况下,redis会在后台异步的把数据库镜像备份到磁盘,但是该备份是非常耗时的,而且备份也不能很频繁。 如果发生诸如拉闸限电、拔插头等状况,那么将造成比较大范围的数据丢失,所以redis提供了另外一种更加高效的数据库备份及灾难恢复方式。
    开启append only模式之后,redis会把所接收到的每一次写操作请求都追加到appendonly. aof文件中。当redis重新启动时,会从该文件恢复出之前的状态,但是这样会造成appendonly. aof文件过大,所以redis还支持BGREWRITEAOF指令对appendonly.aof。

  23. appendfilename appendonly.aof
    AOF文件名称,默认为"appendonly.aof"。

  24. appendfsync everysec
    redis支持三种同步AOF文件的策略:
    1.no代表不进行同步,系统去操作
    2.always代表每次有写操作都进行同步
    3.everysec代表对写操作进行累积,每秒同步一次,默认是"everysec",按照速度和安全折中这是最好的

  25. slowlog-log-slower-than 10000
    记录超过特定执行时间的命令。执行时间不包括I/O计算,比如连接客户端,返回结果等。只是命令执行时间,可以通过两个参数设置slow log:一个是告诉Redis执行超过多少时间被记录的参数slowlog-log-slower-than(微妙),另一个是slow log 的长度。
    当一个新命令被记录的时候最早的命令将被从队列中移除,下面的时间以微妙微单位,因此1000000代表一分钟。注意制定一个负数将关闭慢日志,而设置为0将强制每个命令都会记录。

  26. hash-max-zipmap-entries 512 && hash-maxz-ipmap-value 64
    当hash中包含超过指定元素个数并且最大的元素没有超过临界时,hash将以一种特殊的编码方式(大大减少内存使用)来存储,这里可以设置这两个临界值。Redis Hash对应Value内部实际就是一个HashMap,实际这里会有2种不同实现。这个Hash的成员比较少时redis为了节省内存会采用类似一维数组的方式来紧凑存储,而不会采用真正的HashMap结构,对应的value redisObject的encoding为zipmap。当成员数量增大时会自动转成真正的HashMap,此时encoding为ht。

  27. hash-max-zipmap-entries 512 512
    list数据类型多少节点以下会采用去指针的紧凑存储格式。

  28. list-max-ziplist-value 64
    数据类型节点值大小小于多少字节会采用紧凑存储格式。

  29. setmaxintsetentries 512
    set数据类型内部数据如果全部是数值型,且包含多少节点以下会采用紧凑格式存储。

  30. zsetmaxziplistentries 128
    zsort数据类型多少节点以下会采用去指针的紧凑存储格式。

  31. zsetmaxziplistvalue 64
    zsort数据类型节点值大小小于多少字节会采用紧凑存储格式。

  32. activerehashing yes
    redis将在每100毫秒时使用1毫秒的CPU时间来对redis的hash表进行重新hash,可以降低内存的使用。
    当你的使用场景中,有非常严格的实时性需要,不能够接受redis时不时的对请求有2毫秒的延迟的话,把这项配置为no。如果没有这么严格的实时性要求,可以设置为yes,以便能够尽可能快的释放内存。

版权声明
本文为[流楚丶格念]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_15265965/2894330

  1. Netty源码解析-概述篇
  2. Netty源码解析-概述篇
  3. Netty源码解析1-Buffer
  4. Netty源码解析1-Buffer
  5. Netty源码解析2-Reactor
  6. Netty源码解析2-Reactor
  7. Netty源码解析3-Pipeline
  8. Netty源码解析3-Pipeline
  9. Netty源码解析4-Handler综述
  10. Netty源码解析4-Handler综述
  11. Netty源码解析5-ChannelHandler
  12. Netty源码解析5-ChannelHandler
  13. Netty源码解析6-ChannelHandler实例之LoggingHandler
  14. Netty源码解析6-ChannelHandler实例之LoggingHandler
  15. Netty源码解析7-ChannelHandler实例之TimeoutHandler
  16. Netty源码解析7-ChannelHandler实例之TimeoutHandler
  17. Netty源码解析8-ChannelHandler实例之CodecHandler
  18. Netty源码解析8-ChannelHandler实例之CodecHandler
  19. Netty源码解析9-ChannelHandler实例之MessageToByteEncoder
  20. Netty源码解析9-ChannelHandler实例之MessageToByteEncoder
  21. 大数据面试题之Hbase系列
  22. 你可能需要的Kafka面试题与答案整理
  23. 你可能需要的Kafka面试题与答案整理
  24. 后起之秀Pulsar VS. 传统强者Kafka?谁更强
  25. 后起之秀Pulsar VS. 传统强者Kafka?谁更强
  26. 【大数据哔哔集20210123】别问,问就是Kafka最可靠
  27. 【大数据哔哔集20210123】别问,问就是Kafka最可靠
  28. 【大数据哔哔集20210124】有人问我Kafka Leader选举?我真没慌
  29. 【大数据哔哔集20210124】有人问我Kafka Leader选举?我真没慌
  30. 【大数据哔哔集20210117】Kafka 的高可靠性是怎么实现的
  31. 【大数据哔哔集20210117】Kafka 的高可靠性是怎么实现的
  32. Kafka Connect | 无缝结合Kafka构建高效ETL方案
  33. Kafka面试题总结(一)
  34. Kafka面试题总结(一)
  35. Kafka面试题整理(二)
  36. Kafka面试题整理(二)
  37. 基于Kafka Flink Redis的电商大屏实时计算案例
  38. 基于Kafka Flink Redis的电商大屏实时计算案例
  39. Google布隆过滤器与Redis布隆过滤器详解
  40. Google布隆过滤器与Redis布隆过滤器详解
  41. 【Java Web前端开发】前端框架 bootstrap+jquery+angularjs探索
  42. 关于Redis的几件小事 | 高并发和高可用
  43. 关于Redis的几件小事 | 高并发和高可用
  44. 关于redis的几件小事(一)redis的使用目的与问题
  45. 关于redis的几件小事(一)redis的使用目的与问题
  46. 阿里云Redis技术架构演进
  47. 阿里云Redis技术架构演进
  48. 阿里云Redis技术架构演进
  49. Flink实战(109):connector(十八)hdfs 读写(三)StreamingFileSink相关特性及代码实战
  50. Flink实战(110):flink-sql使用(十八)connector(十九)Flink 与 hive 结合使用(七) Flink Hive Connector 使用
  51. Flink实战(110):flink-sql使用(十八)connector(十九)Flink 与 hive 结合使用(七) Flink Hive Connector 使用
  52. Flink实战(111):flink-sql使用(十九)Flink 与 hive 结合使用(八)Hive Streaming 实战解析
  53. Flink实战(111):flink-sql使用(十九)Flink 与 hive 结合使用(八)Hive Streaming 实战解析
  54. Docker常用命令,这些都要会!
  55. 鸟哥的Linux私房菜学习之第九章笔记
  56. Java NIO之Channel(通道)
  57. Java NIO之拥抱Path和Files
  58. Redis changed its open source license, and many projects were no longer open source
  59. JDK 11 has entered the candidate release stage, and the official version is planned to be released on September 25
  60. [* *] the latest version of windows 10 hides Linux?