Redis配置文件redis.conf超详细的解析


Redis配置文件redis.conf超详细的解析

推荐(免费):redis教程

文章目录

  • 一、常用的三十条配置
  • 二、Redis的内存淘汰策略
    • 2.1 为数据设置超时时间
    • 2.2 采用LRU算法动态将不用的数据删除
  • 三、自定义配置Redis

Linux下做开发要牢记:软件默认安装在/opt下,对于出厂默认设置的配置文件永远不要去直接改动,正确的做法是备份一份后再操作

Redis的配置文件位于Redis安装目录下,文件名为reids.conf,下面介绍常用的三十个配置,文章附带英译版redis.conf文件。

一、常用的三十条配置


前十条配置

  • daemonize no
    Redis默认不是以守护进程的方式运行,可以修改为yes启用守护进程。

  • pidfile /var/run/redis/pid
    当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定路径。

  • port 6379
    指定Redis的监听端口。

  • bind 127.0.0.1
    Redis绑定的主机地址。

  • timeout 300
    设置当客户端闲置多长时间后关闭连接,如果为0表示关闭该功能。

  • loglevel verbose
    指定日志记录级别,Redis共支持四个级别:debug、verbose(默认)、notice、warning。

  • logfile stdout
    日志记录方式,默认为标准输出,如果配置Redis为守护进程,而这里的日志记录方式为标准输出,则日志会发送给/dev/null

  • databases 16
    设置数据库的数量,默认数量为0,可以使用select <dbid></dbid>命令在连接上指定数据库id。

  • s*e <seconds><changes></changes></seconds>
    指定多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合。Redis配置文件中提供了3个条件:
    s*e 900 1; s*e 300 10 ;s*e 60 10000

  • rdbcompression yes
    指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF(压缩算法)压缩,如果为了节省cpu时间,可以关闭该选项,但是会导致数据库文件变的巨大。


中间十条配置

  • dbfilename dump.rdb
    指定本地数据库文件名,默认值为dump.rdb

  • dir ./
    指定本地数据库存放目录

  • sl*eof <masterip><masterport></masterport></masterip>
    社会当本机为sl*服务时,设置master服务的IP地址及端口,在Redis启动时,会自动从master进行数据同步

  • masterauth <master-password></master-password>
    当master服务设置了密码保护时,sl*服务连接master的密码。

  • requirepass foobared
    设置Redis的连接密码,如果配置了连接密码,客户端 在连接Redis时需要通过AUTH<password></password>命令提供密码,默认是关闭的。

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

  • maxmemory <bytes></bytes>
    指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理后,仍然到达最大内存设置,将无法进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,value存放在swap区。

  • appendonly no
    指定是否在某次更新操作后进行日志记录,Redis在默认情况下是一部的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。

    SONIFY.io SONIFY.io

    设计和开发音频优先的产品和数据驱动的解决方案

    SONIFY.io 83 查看详情 SONIFY.io
  • appendfilename appendonly.aof
    指定更新日志文件名,默认为appendonly.aof。

  • appendsync everysec
    指定更新日志条件,共有三个可选项:
    ①no:表示等操作系统进行数据缓存同步到磁盘(快)、
    ②always:表示每次更新操作系统后手动调用fsync()将数据写到磁盘(慢、安全)、
    ③everysec:表示美妙同步一次(效率折中,为默认值)

最后十个

  • vm-enable no
    指定是否启用虚拟内存机制,默认值为no,VM机制将数据分页存放,由Redis将访问量较少的页即冷数据swap到磁盘上,访问多的页面由磁盘自动换出到内存中。
  • vm-swap-file /tmp/redis.swap
    虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个Redis实例共享。
  • vm-max-memory 0
    将所有大于vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储的(Redis的索引数据 就是keys),也就是说,当vm-max-memory设置为0的时候,其实是所有value都存在于磁盘。默认值为0
  • vm-page-size 32
    Redis swap文件分成了很多的page,一个对象可以保存在多个page上面,但一个page上不能被多个对象共享,vm-page-size是要根据存储的数据大小来设定的,如果存储很多小对象,page大小最好设置为32或者64bytes;如果存储很大大对象,则可以使用更大的page,如果不确定,就使用默认值。
  • vm-pages 134217728
    设置swap文件中的page数量,由于页表(一种表示页面空闲或使用的bitmap)是放在内存中的,在磁盘上每8个pages将消耗1byte的内存。
  • vm-max-threads 4
    设置访问swap文件的线程数,不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的,可能会造成比较长时间的延迟。默认值为4。
  • glueoutputbuf yes
    设置在向客户端应答时,是否把较小的包合并为一个包发送,默认为开启。
  • hash-max-zipmap-entries 64/hash-max-zipmap-value 512
    指定在超过一定的数量或者最大的元素超过某一临界值时,采用一种特殊的哈希算法。
  • activerehashing yes
    指定是否激活重置哈希,默认为开启。
  • include /path/to/local.conf
    指定包含其它的配置文件,可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各个实例又拥有自己的特定配置文件。

二、Redis的内存淘汰策略

Redis作为优秀的缓存中间件,时常会存储大量的数据,即使采用了集群部署来动态扩容,也应该即时的清理内存,维护系统性能。

2.1 为数据设置超时时间

  • expire key time(以秒为单位)            这是最常用的方式
  • setex(String Key, int seconds, String value)  字符串独有的方式

除了字符串自己独有设置过期时间的方法外,其他方法都需要依赖expire方法来设置时间。
如果没有设置时间,那缓存就是永不过期。
如果设置了过期时间,之后又想让缓存永不过期,使用persist key

2.2 采用LRU算法动态将不用的数据删除

内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移除内存腾出空间来加载另外的数据。

  1. volatile-lru     设定超时时间的数据中,删除最不常用使用的数据

  2. allkeys-lru     查询所有的key中最不常使用的数据进行删除,这是应用最广泛的策略。

  3. volatile-random   在已经设定了超时的数据中随机删除

  4. allkeys-random   查询所有的key,之后随机删除

  5. volatile-ttl      查询全部设定超时时间的数据,之后排序,将马上要国企的数据进行删除

  6. noeviction      如果设置为该属性,则不会进行删除操作,在内存溢出时报错返回

  7. volatile-lfu      从所有配置了超时时间的键中删除使用频率最少的键

  8. allkeys-lfu      从所有键中删除使用频率最少的键

三、自定义配置Redis

进入对应的安装目录 /usr/local/redis,修改 redis.conf 配置文件。

作为初学者Redis一般需要修改下面三项:

  • daemonize no 修改为 daemonize yes,即改为以守护进程启动。
  • bind 127.0.01 注释掉,即改为允许除本机外的机器访问Redis服务。
  • 使用requirepass 设置密码,即保证服务安全/在极少数情况下不设定密码无法进行远程访问。

Redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。但当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。服务端开发的大部分应用都是采用后台运行的模式。

更多相关学习:redis

以上就是Redis配置文件redis.conf超详细的解析的详细内容,更多请关注其它相关文章!


# 设置为  # 抖音低价刷粉网站推广  # 唐山网站推广用什么平台  # 网站排名优化 康复宙va斯有约  # 外贸营销推广 江西  # 网站推广优化开户  # 医学seo如何优化  # ai代码优化网站  # 高性能网站建设进阶  # 马鞍山谷歌Seo  # 自适应网站建设800元  # Redis  # 这是  # 会把  # 十条  # 默认为  # 值为  # 都是  # 客户端  # 多个  # 配置文件  # 配置文件redis.conf 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: Python中对象引用与链表属性赋值的机制解析  Yandex世界探索 最新官方免登录入口全知道  漫蛙manwa官网浏览入口_漫蛙漫画网页版访问链接  创建您的便携版VS Code:让配置随身携带  word邮件合并怎么插入个性化图片_Word邮件合并插入个性化图片方法  b站网页版入口 哔哩哔哩官方网站直接进入  解决CSS布局中意外顶部空白问题的教程  大熊猫抓取竹子的“大拇指”其实是什么?蚂蚁庄园课堂今天答案最新11月30日  b站怎么设置动态仅粉丝可见_b站动态粉丝可见设置方法  抖音号已注销怎么解绑企业认证?不解绑企业认证会怎样?  解决CSS容器溢出问题:使用calc()实现精确布局与边距控制  微信注销后银行卡解绑了吗_微信注销后银行卡解绑状态  惠普电脑BIOS界面看不懂怎么办_HP电脑BIOS功能选项解读与设置  Git命令与VS Code UI操作的对应关系解析  《kimi智能助手》制作ppt教程  鲁班大师乓乓皮肤获取方法  Golang中的rune与byte类型区别是什么_Golang字符与字节处理详解  《伊瑟》凶影追缉库卢鲁boss攻略  抖音网页版地址直接进入_抖音网页版在线观看入口  qq邮箱格式填写示例 qq邮箱标准填写规范  cad怎么隐藏指定的图层_cad隐藏或冻结图层方法  鼠标没反应了怎么办 无线/有线鼠标失灵的解决方法【详解】  AI图层蒙版怎么用_AI图层蒙版应用技巧与设计实例  胃动力不足?试试这5个调理方法  Composer如何使用composer-plugin-api开发自定义插件  QQ网站入口直接登录 QQ官方正版登录页面  Win10截图远程协助 Win10远程桌面截屏法【场景应用】  QQ邮箱注册地址 免费获取QQ邮箱账号  C++ cast类型转换总结_C++ reinterpret_cast与const_cast的使用  跨语言测试实践:使用Python Selenium测试现有J*a Web项目  如何查找哪个composer包引入了特定的依赖?  Yandex俄罗斯搜索引擎官网入口 Yandex网页端直接访问  c++类和对象到底是什么_c++面向对象编程基础  Win10如何关闭开机锁屏界面_Windows10跳过锁屏直接登录设置  鸣潮历史学家灯塔位置一览  《虎扑》取消评分记录方法  动漫岛汉化官网网 动漫岛官方动漫汉化地址  J*aScript模拟悬停与点击:自动化网页动态元素交互指南  mysql镜像配置如何设置用户权限组_mysql镜像配置用户组与权限分级管理方法  《绿竹漫游》关闭消息通知方法  《桃源记2》资源采集攻略  win11讲述人怎么关闭 Win11屏幕朗读辅助功能禁用方法【技巧】  J*aScript事件处理:优化键盘输入与表单提交的实践指南  PHP odbc_fetch_array 返回值处理:如何正确访问嵌套数组元素  圆通快递官方入口不需要登录 在线查询入口快速查询  Google Drive API服务器端访问指南:服务账户认证详解  汽车之家网页版免费登录_汽车之家官网首页直接进入  byrutor直接访问入口 byrutor官方游戏库  CSS如何在页面中引入重置样式_使用Normalize.css或Reset.css统一浏览器默认样式  抄漫画官网防走失地址_抄漫画最新漫画完整版阅读入口 

 2021-02-22

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.