bind 127.0.0.1
# 绑定的主机地址,不设置默认将处理所有请求
protected-mode yes
# 是否开启保护模式,默认开启,要是配置里面没有指定bind和密码,开启该参数后,redis只会本地进行访问,
拒绝外部访问,要是开启了密码和bind,可以开启,否则最好关闭,设置为no
port 6379
# 监听的端口号
tcp-backlog 511
# 此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度,此值必须不大于linux系统定义的
/proc/sys/net/core/somaxconn值,默认是511,而linux的默认参数值是128,当系统并发量并且客户端
速度缓慢的时候,可以将这两个参数一起参考设定,该内核参数默认值一般是128,对于负载很大的程序来说
不能满足,一般会将它修改为2048或者更大,在/etc/sysctl.conf中添加:net.core.somaxconn=2048,然后
使用:sysctl -p使该设定生效
timeout 0
# 当客户端闲置多长时间后关闭连接,0,表示不限制
tcp-keepalive 300
# 如果设置不为0,就使用配置tcp的SO_KEEPALIVE值,使用keepalive有两个好处:检测挂掉的对端。
降低中间设备出问题而导致网络看似连接却已经与对端端口的问题。在Linux内核中,
设置了keepalive,redis会定时给对端发送ack。检测到对端关闭需要两倍的设置值。
daemonize yes
# 是否以守护进程的模式运行,当使用启动脚本运行时,与此设置关系不大
supervised no
# 可以通过upstart和systemd管理Redis守护进程,这个参数是和具体的操作系统相关的
pidfile /var/run/redis_6379.pid
# 当redis以守护进程方式运行时,默认写入pid的文件及路径
loglevel notice
# 日志级别,最好是warning
logfile /var/log/redis_6379.log
# 指定了记录日志的文件。空字符串的话,日志会打印到标准输出设备。后台运行的redis标准输出是/dev/null
databases 16
# 数据库的数量,默认使用的数据库是DB 0。可以通过”SELECT “命令选择一个db
save 900 1
# 900秒有一个key变化,就做一次保存
save 300 10
# 300秒有十个key变化,就做一次保存
save 60 10000
# 60秒有10000个key变化,就做一次保存
stop-writes-on-bgsave-error yes
# 在出现错误的时候,是否要停止保存
rdbcompression yes
# 使用压缩rdb文件,rdb文件压缩使用LZF算法,yes表示压缩,但需要消耗CPU资源,no表示不压缩,需要跟多磁盘空间
rdbchecksum yes
# 是否校验rdb文件的名称,从rdb格式的第五个版本开始,在rdb文件的末尾会带上CRC64校验和,这更有利于文件的容错,
但是在保存rdb文件的时候,会有大概10%的性能损耗,如果追求高性能,可关闭该配置
dbfilename dump.rdb
# rdb文件的名称
dir /var/lib/redis/6379
# 数据库目录,数据库的写入会在这个目录,rdb、aof文件也会写在这个目录
slave-serve-stale-data yes
# 当从库同主机失去连接或者复制正在进行,从库有两种运行方式
(1)、默认yes,从库会继续相应客户端的请求
(2)、no,除去INFO和SLAVOF命令之外的任何请求都会返回一个错误"SYNC with master in progress"
slave-read-only yes
# yes开启从库只读
repl-diskless-sync no
# 是否使用socket方式复制数据,目前redis复制提供两种凡是,disk和socket,如果新的slave连上来或者重连的slave
无法部分同步,就会执行全量同步,master会生成rdb文件,有两种方式:
(1)、disk方式是master创建一个新的进程把rdb文件保存到磁盘,再把磁盘上的rdb文件传送给slave
(2)、socket是master创建一个新的进程,直接把rdb文件以socket的方式给slave
disk方式的时候当一个rdb保存的过程中,多个slave都能共享这个rdb文件,socket的方式就是一个个slave顺序复制
在磁盘速度缓慢,网速快的情况下建议使用socket方式
repl-diskless-sync-delay 5
# diskless复制的延迟时间,防止设置为0,一旦开始复制,节点不会再接受新的slave的复制请求,直到下一个rdb传输,
所以最好等待一段时间,等更多的slave连上来
repl-disable-tcp-nodelay no
# 是否禁止复制tcp链接的tcp nodelay参数,可传递yes或者no。默认是no,即使用tcp nodelay。如果master设置了yes
来禁止tcp nodelay设置,在把数据复制给slave的时候,会减少包的数量和更小的网络带宽。但是这也可能带来数据的延迟。
默认我们推荐更小的延迟,但是在数据量传输很大的场景下,建议选择yes。
slave-priority 100
# 当master不可用,Sentinel会根据slave的优先级选举一个master。最低的优先级的slave,当选master。而配置成0,永远不会被选举。
appendonly no
# 默认redis使用的是rdb方式持久化,这种方式在许多应用中已经足够用了。但是redis如果中途宕机,会导致可能有几分钟的数据丢失,
根据save来策略进行持久化,Append Only File是另一种持久化方式,可以提供更好的持久化特性。Redis会把每次写入的数据在接收后
都写入 appendonly.aof 文件,每次启动时Redis都会先把这个文件的数据读入内存里,先忽略RDB文件
appendfilename "appendonly.aof"
# aof文件名
appendfsync everysec
# aof持久化策略的配置
(1)、no表示不执行fsync,由操作系统保证数据同步到磁盘,速度最快。
(2)、always表示每次写入都执行fsync,以保证数据同步到磁盘。
(3)、everysec表示每秒执行一次fsync,可能会导致丢失这1s数据。
no-appendfsync-on-rewrite no
# 在aof重写或者写入rdb文件的时候,会执行大量IO,此时对于everysec和always的aof模式来说,执行fsync会造成阻塞过长时间,
no-appendfsync-on-rewrite字段设置为默认设置为no。如果对延迟要求很高的应用,这个字段可以设置为yes,否则还是设置为no,
这样对持久化特性来说这是更安全的选择。设置为yes表示rewrite期间对新写操作不fsync,暂时存在内存中,等rewrite完成后再写入,
默认为no,建议yes。Linux的默认fsync策略是30秒。可能丢失30秒数据。
auto-aof-rewrite-percentage 100
# aof自动重写配置。当目前aof文件大小超过上一次重写的aof文件大小的百分之多少进行重写,即当aof文件增长到一定大小的时候
Redis能够调用bgrewriteaof对日志文件进行重写。当前AOF文件大小是上次日志重写得到AOF文件大小的二倍(设置为100)时,
自动启动新的日志重写过程。
auto-aof-rewrite-min-size 64mb
# 设置允许重写的最小aof文件大小,避免了达到约定百分比但尺寸仍然很小的情况还要重写
aof-load-truncated yes
# aof文件可能在尾部是不完整的,当redis启动的时候,aof文件的数据被载入内存。重启可能发生在redis所在的主机操作系统宕机后,
尤其在ext4文件系统没有加上data=ordered选项(redis宕机或者异常终止不会造成尾部不完整现象)出现这种现象,可以选择让redis退出,
或者导入尽可能多的数据。如果选择的是yes,当截断的aof文件被导入的时候,会自动发布一个log给客户端然后load。
如果是no,用户必须手动redis-check-aof修复AOF文件才可以
lua-time-limit 5000
# 如果达到最大时间限制(毫秒),redis会记个log,然后返回error。当一个脚本超过了最大时限。只有SCRIPT KILL和SHUTDOWN NOSAVE可以用。
第一个可以杀没有调write命令的东西。要是已经调用了write,只能用第二个命令杀。
slowlog-log-slower-than 10000
# slowlog是用来记录redis运行中执行比较慢的命令耗时。当命令的执行超过了指定时间,就记录在slowlog中,slowlog保存在内存中,所以没有IO操作。
执行时间比slowlog-log-slower-than大的请求记录到slowlog里面,单位是微秒,所以1000000就是1秒。注意,负数时间会禁用慢查询日志,而0则会强制记录所有命令。
slowlog-max-len 128
# 慢查询日志长度。当一个新的命令被写进日志的时候,最老的那个记录会被删掉。这个长度没有限制。只要有足够的内存就行。你可以通过 SLOWLOG RESET 来释放内存。
latency-monitor-threshold 0
# 延迟监控功能是用来监控redis中执行比较缓慢的一些操作,用LATENCY打印redis实例在跑命令时的耗时图表。只记录大于等于下边设置的值的操作。
0的话,就是关闭监视。默认延迟监控功能是关闭的,如果你需要打开,也可以通过CONFIGSET命令动态设置。
notify-keyspace-events ""
# 键空间通知使得客户端可以通过订阅频道或模式,来接收那些以某种方式改动了Redis 数据集的事件。因为开启键空间通知功能需要消耗一些 CPU ,所以在默认配置下,该功能处于关闭状态。
# notify-keyspace-events的参数可以是以下字符的任意组合,它指定了服务器该发送哪些类型的通知:
# K 键空间通知,所有通知以 __keyspace@__ 为前缀
# E 键事件通知,所有通知以 __keyevent@__ 为前缀
# g DEL 、 EXPIRE 、RENAME 等类型无关的通用命令的通知
# $ 字符串命令的通知
# l 列表命令的通知
# s 集合命令的通知
# h 哈希命令的通知
# z 有序集合命令的通知
# x 过期事件:每当有过期键被删除时发送
# e 驱逐(evict)事件:每当有键因为 maxmemory 政策而被删除时发送
# A 参数 g$lshzxe 的别名
# 输入的参数中至少要有一个K或者E,否则的话,不管其余的参数是什么,都不会有任何 通知被分发。详细使用可以参考http://redis.io/topics/notifications
hash-max-ziplist-entries 512
# 数据量小于等于hash-max-ziplist-entries的用ziplist,大于hash-max-ziplist-entries用hash
hash-max-ziplist-value 64
# value大小小于等于hash-max-ziplist-value的用ziplist,大于hash-max-ziplist-value用hash。
list-max-ziplist-size -2
# The highestperforming option is usually -2 (8 Kb size) or -1 (4 Kb size),
# but if your use caseis unique, adjust the settings as necessary.
list-compress-depth 0
set-max-intset-entries 512
# 数据量小于等于set-max-intset-entries用iniset,大于set-max-intset-entries用set。
zset-max-ziplist-entries 128
# 数据量小于等于zset-max-ziplist-entries用ziplist,大于zset-max-ziplist-entries用zset。
zset-max-ziplist-value 64
# value大小小于等于zset-max-ziplist-value用ziplist,大于zset-max-ziplist-value用zset。
hll-sparse-max-bytes 3000
# value大小小于等于hll-sparse-max-bytes使用稀疏数据结构(sparse),大于hll-sparse-max-bytes使用稠密的数据结构(dense)。
一个比16000大的value是几乎没用的,建议的value大概为3000。如果对CPU要求不高,对空间要求较高的,建议设置到10000左右。
activerehashing yes
# Redis将在每100毫秒时使用1毫秒的CPU时间来对redis的hash表进行重新hash,可以降低内存的使用。当你的使用场景中,有非常严格的实时性需要,
不能够接受Redis时不时的对请求有2毫秒的延迟的话,把这项配置为no。如果没有这么严格的实时性要求,可以设置为yes,以便能够尽可能快的释放内存。
client-output-buffer-limit normal 0 0 0
# 对客户端输出缓冲进行限制可以强迫那些不从服务器读取数据的客户端断开连接,用来强制关闭传输缓慢的客户端。
# 对于normalclient,第一个0表示取消hard limit,第二个0和第三个0表示取消soft limit,normal client默认取消限制,因为如果没有寻问,他们是不会接收数据的。
client-output-buffer-limit slave 256mb 64mb 60
# 对于slaveclient和MONITER client,如果client-output-buffer一旦超过256mb,又或者超过64mb持续60秒,那么服务器就会立即断开客户端连接。
client-output-buffer-limit pubsub 32mb 8mb 60
# 对于pubsub client,如果client-output-buffer一旦超过32mb,又或者超过8mb持续60秒,那么服务器就会立即断开客户端连接。
hz 10
#redis执行任务的频率为1s除以hz。
aof-rewrite-incremental-fsync yes
# 在aof重写的时候,如果打开了aof-rewrite-incremental-fsync开关,系统会每32MB执行一次fsync。这对于把文件写入磁盘是有帮助的,可以避免过大的延迟峰值。

参考文章:http://www.itnpc.com/news/web/146996222197663.html

Redis3.2.8配置参数及说明的更多相关文章

  1. [转载]fullPage.js中文api 配置参数~

    fullPage.js中文api 配置参数 选项 类型 默认值 说明 verticalCentered 字符串 true 内容是否垂直居中 resize 布尔值 false 字体是否随着窗口缩放而缩放 ...

  2. kafka配置参数

    Kafka为broker,producer和consumer提供了很多的配置参数. 了解并理解这些配置参数对于我们使用kafka是非常重要的.本文列出了一些重要的配置参数. 官方的文档 Configu ...

  3. MySQL Cluster 7.3.5 集群配置参数优化(优化篇)

    按照前面的教程:MySQL Cluster 7.3.5 集群配置实例(入门篇),可快速搭建起基础版的MySQL Cluster集群,但是在生成环境中,还是有很多问题的,即配置参数需要优化下, 当前生产 ...

  4. mha配置参数详解

    mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...

  5. 微信公众号网页开发-jssdk config配置参数生成(Java版)

    一.配置参数 参考官方文档:http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&la ...

  6. 项目中Zookeeper配置参数笔记

    ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxo ...

  7. Hadoop2.6.0配置参数查看小工具

    前言 使用Hadoop进行离线分析或者数据挖掘的工程师,经常会需要对Hadoop集群或者mapreduce作业进行性能调优.也许你知道通过浏览器访问http://master:18088/conf来查 ...

  8. struts2学习笔记之四:多配置文件支持和常用配置参数

    struts2支持可以按照不同模块分类的方式拆分配置文件,支持多人分工合作,各自维护自己的配置文件,但是所有配置文件中包名和action的名称不能重复   struts2的配置文件方式有两种,stru ...

  9. redis pool config的配置参数

    .获取jedis实例时,实际上可能有两类错误.一类是pool.getReource(),得不到可用的jedis实例:另一类是jedis.set/get时出错也会抛出异常:为了实现区分,所以根据inst ...

随机推荐

  1. Mysql又一次整理笔记--woods备忘

    ==============================SQL备忘 CRUD 查询 多表 事件等=============================== ------------------ ...

  2. 蓝桥杯 如何计算 X^X = 10 来求X呢?

    题目中有说道:X的取值范围大于2小于3 高数书上中方程的近似解有讲到到:(同济第六版180页) ln(x^x)- ln(10)=0; x*ln(x) -ln(10)=0; 假设:F(x) =  X*l ...

  3. cmpp 短信平台

    背景: 物联网一般是在设备上安装sim卡,通过2g网络来进行设备与云端系统的交互,网络都是通过移动的基站来进行网络传输的,所以一旦移动的基站有变动,比如流量降级,光缆割接,其他故障登 都会导致2g络的 ...

  4. vue 声明响应式属性

    声明响应式属性 由于vue不允许动态添加根级响应式属性,所以你必须在初始化实例前声明根级响应式属性,哪怕只是一个空值: var vm = new Vue({ data: { // 声明 message ...

  5. export,source

    source会把定义在脚本文件中的变量放在当前shell中 export会把变量放在他所在的shell进程以及子进程shell中 子shell进程可以访问父shell进程的export 声明的变量,但 ...

  6. Math函数的"四舍五入",Floor,Ceiling,Round的一些注意事项!

    1.Math.Round:四舍六入五取偶 引用内容 Math.Round(0.0) //0Math.Round(0.1) //0Math.Round(0.2) //0Math.Round(0.3) / ...

  7. Customize Netbeans Platform Splash Screen and About Dialog

    原帖一直打不开,通过谷歌翻译找到的 http://blogs.kiyut.com/tonny/2007/10/18/customize-netbeans-platform-splash-screen- ...

  8. 我的第7个java程序--把java web项目改为java project项目--mybatis

    连接数据库需要 程序,连接字符串,查询语句 主程序->读取连接字符串->读取查询语句->把查询到的值赋值给映射对象->打印对象属性 java project的好处,不用做那么多 ...

  9. 利用JNDI的命名与服务功能来满足企业级API对命名与服务的访问

    包含了大量的命名和目录服务,使用通用接口来访问不同种类的服务: 可以同时连接到多个命名或目录服务上: 建立起逻辑关联,允许把名称同Java对象或资源关联起来,而不必知道对象或资源的物理ID. JNDI ...

  10. asp.net c#采集需要登录页面的实现原理及代码

    当我们采集页面的时候,如果被采集的网站需要登录才能采集,原理搞清楚了,就好办了,我们所要做的仅仅是在采集的时候(或者说HttpWebRequest提交数据的时候),将Cookie信息放入Http请求头 ...