文档章节

Redis配置文件说明

竹隐江南
 竹隐江南
发布于 2016/08/24 16:28
字数 2109
阅读 30
收藏 0

key default 示例 描述
daemonize yes   是否以后台进程运行,默认为no,如果需要以后台进程运行则改为yes
pidfile /var/run/redis.pid   如果以后台进程运行的话,就需要指定pid,你可以在此自定义redis.pid文件的位置。
tcp-backlog 511   在高并发环境下你需要一个高backlog值来避免慢客户端连接问题。注意Linux内核默默地将这个值减小到/proc/sys/net/core/somaxconn的值,所以需要确认增大somaxconn和tcp_max_syn_backlog两个值来达到想要的效果。
bind   192.168.1.100 10.0.0.1 默认Redis监听服务器上所有可用网络接口的连接。可以用"bind"配置指令跟一个或多个ip地址来实现监听一个或多个网络接口
unixsocket   /tmp/redis.sock 指定用来监听Unix套套接字的路径。没有默认值, 所以在没有指定的情况下Redis不会监听Unix套接字
unixsocketperm   755  
timeout 0   一个客户端空闲多少秒后关闭连接。
tcp-keepalive 0   在Linux上,这个指定的值(单位:秒)就是发送ACK的时间间隔,这个选项的一个合理值是60秒。
loglevel notice   指定服务器调试等级
logfile ""   指明日志文件名。也可以使用"stdout"来强制让Redis把日志信息写到标准输出上。注意:如果Redis以守护进程方式运行,而设置日志显示到标准输出的话,日志会发送到/dev/null
syslog-enabled   no 要使用系统日志记录器,只要设置 "syslog-enabled" 为 "yes" 就可以了。
syslog-ident   redis 指明syslog身份
syslog-facility   local0 指明syslog的设备。必须是user或LOCAL0 ~ LOCAL7之一。
databases 20000   设置数据库个数。默认数据库是 DB 0,可以通过select <dbid> (0 <= dbid <= 'databases' - 1 )来为每个连接使用不同的数据库。
stop-writes-on-bgsave-error yes   默认如果开启RDB快照(至少一条save指令)并且最新的后台保存失败,Redis将会停止接受写操作, 这将使用户知道数据没有正确的持久化到硬盘,否则可能没人注意到并且造成一些灾难。
rdbcompression yes   当导出到 .rdb 数据库时是否用LZF压缩字符串对象,默认设置为 "yes",因为几乎在任何情况下它都是不错的。
rdbchecksum yes   因为版本5的RDB有一个CRC64算法的校验和放在了文件的最后。这将使文件格式更加可靠但在生产和加载RDB文件时,这有一个性能消耗(大约10%),所以你可以关掉它来获取最好的性能。
dir ./   工作目录,数据库会写到这个目录下,文件名就是上面的 "dbfilename" 的值。
slaveof   <masterip> <masterport> 主从同步。通过 slaveof 指令来实现Redis实例的备份。
masterauth   <master-password> 如果master设置了密码保护(通过 "requirepass" 选项来配置),那么slave在开始同步之前必须进行身份验证,否则它的同步请求会被拒绝。
slave-serve-stale-data yes   当一个slave失去和master的连接,或者同步正在进行中,slave的行为有两种可能:1) 如果 slave-serve-stale-data 设置为 "yes" (默认值),slave会继续响应客户端请求,可能是正常数据,也可能是还没获得值的空数据。2) 如果 slave-serve-stale-data 设置为 "no",slave会回复"正在从master同步(SYNC with master in progress)"来处理各种请求,除了 INFO 和 SLAVEOF 命令。
slave-read-only yes   你可以配置salve实例是否接受写操作。可写的slave实例可能对存储临时数据比较有用(因为写入salve的数据在同master同步之后将很容被删除),但是如果客户端由于配置错误在写入时也可能产生一些问题。
repl-ping-slave-period 10   slave根据指定的时间间隔向master发送ping请求。
repl-timeout   60 同步超时时间,确保这个值大于指定的repl-ping-slave-period,否则在主从间流量不高时每次都会检测到超时
repl-disable-tcp-nodelay no   是否在slave套接字发送SYNC之后禁用 TCP_NODELAY
repl-backlog-size   1mb 设置数据备份的backlog大小。backlog是一个slave在一段时间内断开连接时记录salve数据的缓冲
repl-backlog-ttl   3600 当master在一段时间内不再与任何slave连接,backlog将会释放。以下选项配置了从最后一个slave断开开始计时多少秒后,backlog缓冲将会释放。
slave-priority 100   slave的优先级是一个整数展示在Redis的Info输出中。如果master不再正常工作了,哨兵将用它来选择一个slave提升=升为master。优先级数字小的salve会优先考虑提升为master,所以例如有三个slave优先级分别为10,100,25,哨兵将挑选优先级最小数字为10的slave。0作为一个特殊的优先级,标识这个slave不能作为master,所以一个优先级为0的slave永远不会被哨兵挑选提升为master
min-slaves-to-write 0 3 单位个
min-slaves-max-lag 10 10 单位秒
requirepass   foobared 要求客户端在处理任何命令时都要验证身份和密码。
rename-command   CONFIG "" 命令重命名
maxclients 10000   设置最多同时连接的客户端数量。默认这个限制是10000个客户端,
maxmemory-policy volatile-lru   最大内存策略:如果达到内存限制了,Redis如何选择删除key。你可以在下面五个行为里选:volatile-lru -> 根据LRU算法生成的过期时间来删除。allkeys-lru -> 根据LRU算法删除任何key。volatile-random -> 根据过期设置来随机删除key。 allkeys->random -> 无差别随机删。 volatile-ttl -> 根据最近过期时间来删除(辅以TTL) noeviction -> 谁也不删,直接在写操作时返回错误。
maxmemory-samples 3   LRU和最小TTL算法的实现都不是很精确,但是很接近(为了省内存),所以你可以用样本量做检测。
appendonly no   默认情况下,Redis是异步的把数据导出到磁盘上。这种模式在很多应用里已经足够好,但Redis进程出问题或断电时可能造成一段时间的写操作丢失(这取决于配置的save指令)。
appendfilename appendonly.aof   纯累加文件名字
appendfsync everysec   系统调用告诉操作系统把数据写到磁盘上,而不是等更多的数据进入输出缓冲区。everysec每秒写一次。折中方案。
no-appendfsync-on-rewrite no   如果把这个设置成"yes"带来了延迟问题,就保持"no",这是保存持久数据的最安全的方式。
auto-aof-rewrite-percentage 100   如果AOF日志文件增大到指定百分比,Redis能够通过 BGREWRITEAOF 自动重写AOF日志文件。
auto-aof-rewrite-min-size 64mb   重写日志的最小尺寸,这样避免了达到指定百分比但尺寸仍然很小的情况还要重写。
lua-time-limit 5000   Lua 脚本的最大执行时间,毫秒为单位
slowlog-log-slower-than 10000   Redis慢查询日志可以记录超过指定时间的查询。
slowlog-max-len 128   这个长度没有限制。只是要主要会消耗内存。你可以通过 SLOWLOG RESET 来回收内存。
notify-keyspace-events ""   Redis 能通知 Pub/Sub 客户端关于键空间发生的事件
hash-max-ziplist-entries 512    
hash-max-ziplist-value 64    
list-max-ziplist-entries 512    
list-max-ziplist-value 64    
set-max-intset-entries 512    
zset-max-ziplist-entries 128    
zset-max-ziplist-value 64    
activerehashing yes   启用哈希刷新,每100个CPU毫秒会拿出1个毫秒来刷新Redis的主哈希表(顶级键值映射表)
client-output-buffer-limit normal 0 0 0   客户端的输出缓冲区的限制
client-output-buffer-limit slave 256mb 64mb 60   客户端的输出缓冲区的限制
client-output-buffer-limit pubsub 32mb 8mb 60   客户端的输出缓冲区的限制
hz 10   Redis调用内部函数来执行许多后台任务,如关闭客户端超时的连接,清除未被请求过的过期Key等等。
aof-rewrite-incremental-fsync yes   当一个子进程重写AOF文件时,如果启用下面的选项,则文件每生成32M数据会被同步。为了增量式的写入硬盘并且避免大的延迟高峰这个指令是非常有用的
save 900 1   把数据库存到磁盘上:900秒(15分钟)之后,且至少1次变更
save 300 10   300秒(5分钟)之后,且至少10次变更
save 60 10000   60秒之后,且至少10000次变更

© 著作权归作者所有

共有 人打赏支持
竹隐江南

竹隐江南

粉丝 16
博文 18
码字总数 23717
作品 0
海淀
高级程序员
私信 提问
小蚂蚁学习Redis笔记(2)——Redis安装和配置

Redis的安装 下载地址 http://redis.io/download 选择一个最新的稳定版本,目前是 redis-3.0.5.tar.gz (选择stable,稳定版本) 解压压缩包 tar -zxvf redis-3.0.5.tar.gz 进入该目录 cd r...

嗜学如命的小蚂蚁
2015/11/11
0
0
.NET redis cluster

一、下载Windows版本Redis   下载链接:https://github.com/MSOpenTech/redis/releases(根据系统选择对应版本)    二、修改默认的配置文件 如上图两个配置文件,redis.windows.conf(应...

走样
2018/12/04
0
0
如何利用容器实现生产级别的redis sharding集群的一键交付

如何使用容器实现生产级别的Redis sharding集群的一键交付 作者介绍: 张春源 希云cSphere合伙人,国内早期的Docker布道者,对企业应用Docker化有丰富的实践经验,擅长利用Docker践行Devops文...

dockerer
2016/06/21
81
0
nginx+redis+tomcat,Session共享失败,Keys *显示 为空

我是根据网上的配置做的,然后做了一个小demo,用来显示当前的sessionId,但是发现,每次通过nginx监听的主机和端口访问过去,每一次的sessionId都是改变的,说明,session没有被共享;怀疑过r...

康州牧码人
2015/04/15
5.7K
11
Redis探索之旅(11)- Redis服务之主从架构实现

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/andamajing/article/details/52561706 在前面的文章中,已经对Redis的基本操作进行了比较详细的说明,从这篇文...

DreamMakers
2016/09/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

腾讯面试:一条SQL语句执行得很慢的原因有哪些?

说实话,这个问题可以涉及到 MySQL 的很多核心知识,可以扯出一大堆,就像要考你计算机网络的知识时,问你“输入URL回车之后,究竟发生了什么”一样,看看你能说出多少了。 之前腾讯面试的实...

java菜分享
22分钟前
4
0
Java 基本功 之 CAS

本文首发于个人公众号《andyqian》, 期待你的关注! 前言 在Java并发编程中,我们经常使用锁对竞争资源予以并发控制,以解决资源竞争的问题。但无论是使用 Lock 还是 Synchronized,随着锁机...

andyqian
26分钟前
3
0
信号量与条件变量的区别

注意信号量与条件变量的区别 信号量内容可见:http://www.cnblogs.com/charlesblc/p/6142868.html 信号量、共享内存,以及消息队列等System V IPC三剑客主要关注进程间通信; 而条件变量、互...

shzwork
37分钟前
0
0
在VirtualBox 6.0中安装fedora 30

操作系统安装完毕后首先进行更新。 sudo dnf update 重启虚拟机后,安装VirtualBox依赖的软件包。 sudo dnf install kernel-headers kernel-devel dkms gcc 最后,安装“增强功能”。...

gugudu
45分钟前
0
0
861. Score After Flipping Matrix

为了获得最大值,我们必须保证每一行列下标小的1尽可能的多(最高位的1尽可能多)。 首先,考虑我们可以进行的操作有 翻转列,进行列操作 翻转行,进行行操作 通过行操作 我们总是可以使得第...

reter
46分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部