首页 > 数据库 >redis-配置文件解读

redis-配置文件解读

时间:2024-09-25 09:48:07浏览次数:8  
标签:设置 配置文件 redis 解读 内存 key 移除 客户端

Redis配置文件解读

第一节 网络配置相关

bind绑定连接IP

默认情况bind=127.0.0.1只能接受本机的访问请求,不写的情况下,无限制接受任何ip地址的访问,生产环境肯定要写你应用服务器的地址;服务器是需要远程访问的,所以需要将其注释掉.如果开启了protected-mode,那么在没有设定bind ip且没有设密码的情况下,Redis只允许接受本机的响应

image-20230706115102403

保存配置,停止服务,重启启动查看进程,不再限制是本机访问了。

image-20230706115212609

这里完成之后,就可以在window上安装一个redis客户端,连接虚拟机上的redis服务了

端口号: 6379

image-20230706115349569

tcp-backlog 连接队列

  设置tcp的backlog,backlog其实是一个连接队列,backlog队列总和=未完成三次握手队列 + 已经完成三次握手队列。在高并发环境下你需要一个高backlog值来避免慢客户端连接问题。

注意Linux内核会将这个值减小到/proc/sys/net/core/somaxconn的值(128),所以需要确认增大/proc/sys/net/core/somaxconn和/proc/sys/net/ipv4/tcp_max_syn_backlog(128)两个值来达到想要的效果

image-20230706115554212

timeout连接超时

一个空闲的客户端维持多少秒会关闭,0表示关闭该功能。即永不关闭。

image-20230706115650664

tcp-keepalive 连接心跳检测

对访问客户端的一种心跳检测,每个n秒检测一次。
单位为秒,如果设置为0 则不会进行Keepalive检测,建议设置成60  

image-20230706115754570

第二节 GENREAL通用配置

UNITS单位

 配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit,大小写不敏感

image-20230706120047530

INCLUDES包含

在当前配置文件中引入其他配置文件中的内容,一般都是引入一些公共配置

image-20230706120131180

daemonize 后台进程

是否为后台进程,设置为yes ,守护进程,后台启动

image-20230706120319825

pidfile 进程ID文件

存放pid文件的位置,每个实例会产生一个不同的pid文件

image-20230706120451425

databases 16

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

image-20230706120627340

第三节 SECURITY安全配置

设置密码

image-20230706120811624

访问密码的查看、设置和取消
在命令中设置密码,只是临时的。重启redis服务器,密码就还原了。
永久设置,需要再配置文件中进行设置。

第四节 LIMIT限制

maxclients 客户端最大连接数

  • 设置redis同时可以与多少个客户端进行连接。
  • 默认情况下为10000个客户端。
  • 如果达到了此限制,redis则会拒绝新的连接请求,并且向这些连接请求方发出“max number of clients reached”以作回应。

image-20230706121546036

maxmemory 最大占用内存

  • 建议必须设置,否则,将内存占满,造成服务器宕机
  • Redis默认情况下并没有设置最大占用内存限制,也就是说,maxmemory参数的默认值是0。这意味着Redis可以使用系统的所有可用内存,直到操作系统的内存资源耗尽。
  • 设置redis可以使用的内存量。一旦到达内存使用上限,redis将会试图移除内部数据,移除规则可以通过maxmemory-policy来指定。
  • 如果redis无法根据移除规则来移除内存中的数据,或者设置了“不允许移除”,那么redis则会针对那些需要申请内存的指令返回错误信息,比如SET、LPUSH等。
  • 但是对于无内存申请的指令,仍然会正常响应,比如GET等。如果你的redis是主redis(说明你的redis有从redis),那么在设置内存使用上限时,需要在系统中留出一些内存空间给同步队列缓存,只有在你设置的是“不移除”的情况下,才不用考虑这个因素。

image-20230706121729584

maxmemory-policy 置换策略

  • volatile-lru:使用LRU算法移除key,只对设置了过期时间的键;(最近最少使用)
  • allkeys-lru:在所有集合key中,使用LRU算法移除key
  • volatile-lfu : 在设定了超时时间的数据中 使用LFU算法 (将使用次数最少的删除)
  • allkeys-lfu: 在所有的数据中 采用LFU算法
  • volatile-random:在过期集合中移除随机的key,只对设置了过期时间的键
  • allkeys-random:在所有集合key中,移除随机的key
  • volatile-ttl:移除那些TTL值最小的key,即那些最近要过期的key
  • noeviction:不进行移除。针对写操作,只是返回错误信息

image-20230706121843454

maxmemory-samples

  • 设置样本数量,LRU算法和最小TTL算法都并非是精确的算法,而是估算值,所以你可以设置样本的大小,redis默认会检查这么多个key并选择其中LRU的那个。
  • 一般设置3到7的数字,数值越小样本越不准确,但性能消耗越小。

image-20230706122145032

  • 设置为 10,那么 Redis 将会增加额外的 CPU 开销以保证接近真正的 LRU 性能

标签:设置,配置文件,redis,解读,内存,key,移除,客户端
From: https://www.cnblogs.com/21CHS/p/18430666

相关文章

  • 深度解读内外网文件传输的技巧和最佳实践
    内外网文件传输在企业运营中的重要性为了保护核心数据,绝大多数企业和机构都在内部实施了内外网分离,比如医院、银行、半导体集成电路公司、生物制药企业、电力公司等等,处在内网的员工,需要将设计图纸、项目资料等文件发送给外网的用户,也需要发给内部不同部门的同事;。客户、供应商、......
  • 阿里面试让聊一聊Redis 的内存淘汰(驱逐)策略
    大家好,我是V哥,粉丝小A面试阿里,说被问到Redis的内存淘汰策略的问题,整理这个笔记给他参考,也分享给大家,如果你遇到这个问题,会怎么回答呢?Redis的内存淘汰策略是指当Redis的内存使用量达到设定的上限时,决定哪些数据应该被移除以便为新数据腾出空间的规则。Redis提供了多种......
  • redis内容记录
    redis的基本数据类型String:是最基本的数据类型,它可以存储任何二进制安全的数据。不仅能存放文本数据,还能保存图片、音频、视频、压缩文件等二进制数据。它们通常用于缓存。Hash:哈希类型,其中键值对中的值本身又是一个键值对结构,hash特别适合用于存储对象。List:Redis列表,一个......
  • Redis 缓存数据库查询的实现
    Redis缓存数据库查询的实现1.需求背景数据库表globalship存储大量船舶信息,每次查询船舶信息时,使用mmsi作为查询条件。由于数据量大,直接查询数据库性能较差,计划引入Redis缓存优化查询速度。目标:通过mmsi查询船舶信息,若Redis中存在缓存则直接返回,否则查询数据库,并......
  • 在Windows上使用Docker创建Redis
    在Windows上使用Docker创建Redis并设置密码拉取Redis镜像通过终端执行以下命令来获取Redis的官方镜像:dockerpullredis启动Redis容器并设置密码使用--requirepass选项来设置Redis密码。例如,启动Redis并将密码设置为your_password:dockerrun--nameredis-container-d......
  • redis常用命令
    Redis基操redis不区分大小写,而且redis是单线程数据库(不支持多线程),故redis是基于内存操作,cup不是redis的性能瓶颈,其瓶颈是网络带宽和机器内存一、常用数据库级别指令selectindex切换不同数据库:redis初始数据库有16个,默认使用的是第零个数据库,不同数据库可以存不同的......
  • 技术解读:华为云如何携手昇腾、鸿蒙等根生态,助力开发者技术创新
    本文分享自华为云开发者联盟公众号《华为云携手根生态,助力开发者成长》9月21日,华为全联接大会2024期间,华为云开发者联盟成功举办了“华为云携手根生态,全栈使能开发者技术创新”专题演讲分论坛,吸引了众多行业专家和开发者齐聚上海世博中心,共同探讨技术创新的新趋势。本次专题演讲......
  • 在虚拟机Linux上运行redis,同时使用Another RedisDesktop Manager图形化界面工具连接
    VMwareWorkstationPro虚拟机启动Centos7MobaXterm连接虚拟机输入个人密码Redis启动进入Redis文件目录cd/usr/local/src/redis-6.2.6Redis自启动systemctlenableredissystemctlstartredis查看Redis进程ps-ef|grepredis进入Redis操作redis-cli-h......
  • docker 环境快速安装 redis
    Redis介绍Redis全称为RemoteDictionaryServer(远程数据服务),是一款开源的基于内存的键值对存储系统,其主要被用作高性能缓存服务器使用,当然也可以作为消息中间件和Session共享等。Redis独特的键值对模型使之支持丰富的数据结构类型,即它的值可以是字符串、哈希、列表、集合、......
  • redis数据库通过dump.rdb文件恢复数据库或者数据库迁移
     环境:centos7.2软件:redis-3.2.10(yum安装)情景一:公司之前的redis没有开启aof模式,一直是rdb模式,但是数据又非常重要,数据一点也不能丢失,所以需要开启aof,但是redis默认是从appendonly.aof加载数据,systemctlstartredis的时候,数据库是空的,因为我们并没有appendonly.aof文件,而且关......