Redis.conf配置文件内容详解

时间:2022-12-09 11:21:39
#默认以后台方式运行
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配置文件内容详解的更多相关文章

  1. redis.conf 具体配置详解

    redis.conf 具体配置详解 # redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位, # 通常的格式就是 1k 5gb 4m 等酱紫: # # 1k =&gt ...

  2. Apache2 httpd.conf配置文件中文版详解

    Apache2 httpd.conf配置文件中文版详解## 基于 NCSA 服务的配置文件.##这是Apache服务器主要配置文件.#它包含服务器的影响服务器运行的配置指令.#参见以取得关于这些指令的 ...

  3. odoo配置文件内容详解

    odoo常用openerp-server.conf配置参数详解 参数 说明 用法 addons_path addons模块的查找路径,多个路径用逗号分隔 addons_path = E:\GreenO ...

  4. Redis进阶实践之二十 Redis的配置文件使用详解

    一.引言 写完上一篇有关redis使用lua脚本的文章,就有意结束Redis这个系列的文章了,当然了,这里的结束只是我这个系列的结束,但是要学的东西还有很多.但是,好多天过去了,总是感觉好像还缺点什么 ...

  5. Redis配置文件redis.conf参数配置详解

    ########################################## 常规 ########################################## daemonize n ...

  6. Redis学习笔记--Redis配置文件redis.conf参数配置详解

    ########################################## 常规 ########################################## daemonize n ...

  7. Log4j配置文件内容详解

    .Log4j的优点 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送地:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控 ...

  8. Redis中redis.conf里面配置详解

    是否将redis设置为守护程序,默认为no daemonize yes   如果设置为守护程序,需要指定pid文件 pidfile /var/run/redis/redis-server.pid   ...

  9. Redis:redis.conf配置文件 - 及配置详解

    配置文件详解(文章最后有完整的redis.conf文件) ###################################  NETWORK  ######################### ...

随机推荐

  1. ORACLE分区--表分区

    .love_flying_snow Oracle表分区 Oracle . 废话少说,直接讲分区语法. Oracle表分区分为四种:范围分区,散列分区,列表分区和复合分区. 一:范围分区 就是根据数据库 ...

  2. 【WebService】WebService的创建和使用——文件名称生成器

    简介 之前做过一个文件名称生成器,通过Webservice读取XML文件并将其通过Json传到客户端中的combobx,用户通过combobox选择要生成文件的名称模板,点击生成则会产生一个文件名称并 ...

  3. C++的XML编程经验――LIBXML2库使用指南[转]

    C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...

  4. windows下ftp上传下载和一些常用命令

    先假设一个ftp地址 用户名 密码 FTP Server: home4u.at.china.com User: yepanghuang Password: abc123 打开windows的开始菜单, ...

  5. C++ Primer chap7

    /* 第七章7.1: */ //#include<iostream> //#include<string> //using std::cin; //using std::cou ...

  6. MySQL数据库安装(CentOS操作系统&sol;tar&period;gz方式)

    1. 上传Mysql安装包“mysql-5.5.40-linux2.6-x86_64.tar.gz”到部署机,位置任意: 2. 将Mysql安装包解压到其所在目录,命令如下: -linux2.-x86 ...

  7. 一键安装 redmine on rhel6&period;4

    一键安装 redmine on rhel6.4 一键式安装redmine省去了大量不必要的时间.下载:bitnami-redmine-2.5.2-1-linux-x64-installer.run. ...

  8. Vue-CLI 3&period;x 设置反向代理

    最近在项目中使用了Vue CLI 3.0版本,项目中需要设置反向代理解决跨域问题,下面记录一下设置过程. 新建配置文件 (vue-cli3.x 官网的配置文档 https://cli.vuejs.or ...

  9. MAC下配置ssh让SourceTree通过秘钥访问远程仓库

    问题描述 由于TortoiseGit没有MAC版本,我们使用了SourceTree来替代. 在帮同事解决Mac下的Git的时候,碰到一个问题:SourceTree无法使用ssh方式提交代码,这是由于没 ...

  10. ThinkCMF----调用指定栏目的文章列表

    做项目的时候,在用ThinkCMF在首页调用指定的栏目文章,但是没有找到好的方法,就自己写了一个. 但是又不想写标签,就在公用方法里面实现了:找到common.php 操作数据库,要用到think的控 ...