Redis.conf配置文件内容详解
#默认以后台方式运行
daemonize yes
#指定redis pid文件
pidfile /data/apps/var/redis2/redis2.pid
#指定redis启动占用的端口
port 6380
#此项配置内容属于redis优化内容
tcp-backlog 2048
#redis绑定的ip或者主机名,注意如果此处绑定设置为127.0.0.1,将会出现其他服务器上的服务连接至此台redis失败的情况
bind redis1
#指定socket连接空闲时间(秒),如果连接空闲超时将会关闭连接,设置为0表示用不超时
timeout 0
#指定tcp连接是否为长连接,长连接将会额外增加server端的开支,默认为0表示禁用
tcp-keepalive 0
#指定日志级别,notice适用于生产环境
loglevel notice
#指定log日志位置
logfile "/usr/local/redis.log"
#是否将日志输出到系统日志,默认为no
syslog-enabled no
#指定syslog的标示符,如果'syslog-enabled'是no,则这个选项无效
syslog-ident redis
#设定redis所允许的最大"db簇"的个数,默认为16个簇
databases 16
#如果snapshot过程中出现错误,即数据持久化失败,是否终止所有的客户端write请求
stop-writes-on-bgsave-error yes
#是否启用rdb文件压缩手段,默认为yes
rdbcompression yes
#是否对rdb文件使用CRC64校验和,默认为"yes",那么每个rdb文件内容的末尾都会追加CRC校验和
rdbchecksum yes
#指定rdb文件的名称
dbfilename dump.rdb
#指定rdb/AOF文件的目录位置
dir /usr/local/data/redis/
#设置redis占用最大内存数,如果超过redis会试图删除即将过期的key,而保护具有较长生命周期的key
maxmemory 5gb
#当内存占用超过maxmemory限定时,触发主动清理策略
maxmemory-policy allkeys-lru
#清理策略方式如下:
volatile-lru:只对设置了过期时间的key进行LRU(默认值)
allkeys-lru : 删除lru算法的key
volatile-random:随机删除即将过期key
allkeys-random:随机删除
volatile-ttl : 删除即将过期的
noeviction : 永不过期,返回错误
#设置replication,使用slaveof把一个redis实例设置为另一个redis server的从库。
slaveof redis2 6379
#当slave丢失与master的连接时,或者slave仍然在于master进行数据同步时(还没有与master保持一致),slave可以有两种方式来响应客户端请求:
slave-serve-stale-data yes
方式:
如果 slave-serve-stale-data 设置成 'yes' (the default) slave会仍然响应客户端请求,此时可能会有问题
如果 slave-serve-stale data设置成 'no' slave会返回"SYNC with master in progress"这样的错误信息。 但 INFO 和SLAVEOF命令除外
#slave服务器是否可写
slave-read-only yes
#slave与master的连接,是否禁用TCP nodelay选项
yes表示禁用,那么socket通讯中数据将会以packet方式发送,可以提高socket通讯的效率(tcp交互次数),但是小数据将会被buffer,不会被立即发送,对于接受者可能存在延迟
"no"表示开启tcp nodelay选项,任何数据都会被立即发送,及时性较好,但是效率较低,建议设置为no
repl-disable-tcp-nodelay no
#slave的权重值,默认100.当master失效后,Sentinel将会从slave列表中找到权重值最低的slave,并提升为master,适用Sentinel模块,需要额外的配置文件支持
slave-priority 100
#是否开启aof功能,"yes"表示开启,在开启情况下,aof文件同步功能才生效,默认为"no",对master机器,建议使用AOF,对于slave,建议关闭
appendonly no
#aof文件存储路径
appendfilename "appendonly.aof"
#任何一个aof记录都立即进行文件同步(磁盘写入),安全性最高;如果write请求比较密集,将会造成较高的磁盘IO开支和响应延迟,everysec每秒同步一次
appendfsync everysec
#在aof rewrite期间,是否对aof新记录的append暂缓使用文件同步策略,主要考虑磁盘IO开支和请求阻塞时间,默认为no,表示"不暂缓",新的aof记录仍然会被立即同步
no-appendfsync-on-rewrite no
#aof每次rewrite之后,都会记住当前aof文件的大小,当文件增长到一定比例后,继续进行aof rewrite
auto-aof-rewrite-percentage 100
#aof rewrite触发时机,最小文件尺寸
auto-aof-rewrite-min-size 64mb
#lua脚本运行的最大时间
lua-time-limit 5000
#慢操作日志记录
slowlog-log-slower-than 10000
#慢操作日志保留的最大条数
slowlog-max-len 128
#键空间通知,""表示关闭
notify-keyspace-events ""
##ziplist中允许存储的最大条目个数
hash-max-ziplist-entries 512
#ziplist中允许条目value值最大字节数
hash-max-ziplist-value 64
#对于list类型,将会采取ziplist,linkedlist两种编码类型
list-max-ziplist-entries 512
#ziplist中允许条目value值最大字节数
list-max-ziplist-value 64
#intset中允许保存的最大条目个数,如果达到阀值,intset将会被重构为hashtable
set-max-intset-entries 512
#设置同上
zset-max-ziplist-entries 128
#设置同上
zset-max-ziplist-value 64
#是否开启顶层数据结构的rehash功能,如果内存允许,请开启
activerehashing yes
#客户端buffer控制
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 512mb 512mb 600
client-output-buffer-limit pubsub 32mb 8mb 60
#Redis server执行后台任务的频率,默认为10,此值越大表示redis对"间歇性task"的执行次数越频繁
hz 10
#aof rewrite过程中,是否采取增量"文件同步"策略,默认为"yes",而且必须为yes
aof-rewrite-incremental-fsync yes
tcp-keepalive属于redis优化内容,如果有兴趣的话可以看看这篇博客写的很好https://ylgrgyq.github.io/2017/05/18/tcp-backlog/
清理策略
当Redis内存使用达到maxmemory时,需要选择设置好的maxmemory-policy进行对老数据的置换。
下面是可以选择的置换策略:
- noeviction: 不进行置换,表示即使内存达到上限也不进行置换,所有能引起内存增加的命令都会返回error
- allkeys-lru: 优先删除掉最近最不经常使用的key,用以保存新数据
- volatile-lru: 只从设置失效(expire set)的key中选择最近最不经常使用的key进行删除,用以保存新数据
- allkeys-random: 随机从all-keys中选择一些key进行删除,用以保存新数据
- volatile-random: 只从设置失效(expire set)的key中,选择一些key进行删除,用以保存新数据
- volatile-ttl: 只从设置失效(expire set)的key中,选出存活时间(TTL)最短的key进行删除,用以保存新数据
Redis.conf配置文件内容详解的更多相关文章
- redis.conf 具体配置详解
redis.conf 具体配置详解 # redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位, # 通常的格式就是 1k 5gb 4m 等酱紫: # # 1k => ...
- redis.conf配置信息详解
redis.conf配置信息详解 配置文件 # Redis 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写) # # 1k =& ...
- Apache2 httpd.conf配置文件中文版详解
Apache2 httpd.conf配置文件中文版详解## 基于 NCSA 服务的配置文件.##这是Apache服务器主要配置文件.#它包含服务器的影响服务器运行的配置指令.#参见以取得关于这些指令的 ...
- odoo配置文件内容详解
odoo常用openerp-server.conf配置参数详解 参数 说明 用法 addons_path addons模块的查找路径,多个路径用逗号分隔 addons_path = E:\GreenO ...
- Redis进阶实践之二十 Redis的配置文件使用详解
一.引言 写完上一篇有关redis使用lua脚本的文章,就有意结束Redis这个系列的文章了,当然了,这里的结束只是我这个系列的结束,但是要学的东西还有很多.但是,好多天过去了,总是感觉好像还缺点什么 ...
- Redis配置文件redis.conf参数配置详解
########################################## 常规 ########################################## daemonize n ...
- Redis学习笔记--Redis配置文件redis.conf参数配置详解
########################################## 常规 ########################################## daemonize n ...
- Log4j配置文件内容详解
.Log4j的优点 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送地:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控 ...
- Redis中redis.conf里面配置详解
是否将redis设置为守护程序,默认为no daemonize yes 如果设置为守护程序,需要指定pid文件 pidfile /var/run/redis/redis-server.pid ...
随机推荐
- 导出 java.io.IOException: 权限不够
项目原先都是开发使用root账号登陆服务器,人肉部署. 今天改成了自动部署,部署之后发现导出用不了了,查看服务器日志提示: 查看项目启动用户是app,推断是app用户的权限不够,导致导出无法在服务器创 ...
- 上传 第三方jar包 nexus
手动上传第三方jar包到nexus的步奏: 1)按下图方式进行 2)按下图完成上传 3)点击保存完成
- EasyUI 删除
<script type="text/javascript"> <!-- js --> /*================================ ...
- hdoj1257(DP-LIS/贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1257 方法1--贪心: 定义一个数组f[30005],由于题目没给数据量大小,故为了保险,开到最大(高 ...
- JSP的内置对象application、session、request、page的作用域
1.application内置对象的类型名称为ServletContext. 2.session内置对象的类型名称为HttpSession. 3.application作用域:对应整个应用上下文. a ...
- sql标量值函数,将汉字转化为拼音,无音标
USE [db_Test]GO SET ANSI_NULLS ONGO SET QUOTED_IDENTIFIER ONGO create function [dbo].[fn_GetPinyin]( ...
- 判断浏览器是ie9座特殊处理
function ie(){ var agent = navigator.userAgent.toLowerCase();//判断浏览器版本 return (!!window.ActiveXObjec ...
- 如何区分USB 2.0 和USB 3.0插口
USB3.0的速度是USB2.0的十倍,并且比USB2.0更加节能,同时,还能向下兼容USB2.0.那么,我们怎么区分USB2.0 和 USB 3.0呢. 电脑(有USB2.0和USB3.0的插口) ...
- 解决lhgDialog插件在IE11浏览器的BUG
项目中用到一款lhgDialog插件,最近在Win7系统IE11浏览器打上最新补丁(KB4012204)后,对话框内容的高度变成默认高度,经过调试,修改了lhgDialog里的iframe高度,问题解 ...
- mvc 验证封装到某个特征类里[特性的使用]