Redis只作为缓存,不做持久化的配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #1.配置缓存内存限制和清理策略 #作为缓存服务器,如果不加以限制内存的话,就很有可能出现将整台服务器内存都耗光的情况,可以在redis的配置文件里面设置: #example: # 限定最多使用1.5GB内存 maxmemory 1536mb #如果内存到达了指定的上限,还要往redis里面添加更多的缓存内容,需要设置清理内容的策略: #默认为0,没有指定最大缓存,如果有新的数据添加,超过最大内存,则会使redis崩溃,所以一点要设置。 #设置maxmemory之后,配合的要设置缓存数据回收策略。 # 设置策略为清理最少使用的key对应的数据 maxmemory-policy allkeys-lru #下面为redis官网上的几种清理策略: #volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰 #volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰 #volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰 #allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰 #allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰 #no-enviction(驱逐):禁止驱逐数据 #redis回收算法,实际不是严谨的LRU算法,而是抽样回收数据,这样算是为了减少消耗内存使用,但是抽样回收的缓存和全部数据回收缓存差异非常小,或者根本就没有。 #先预测好系统所需要的内存高峰,部署相对应内存的缓存服务器。 #设置maxmemory和相对应的回收策略算法,设置最好为物理内存的3/4,或者比例更小,因为redis复制数据等其他服务时,也是需要缓存的。 #以防缓存数据过大致使redis崩溃,造成系统出错不可用。牺牲一部分缓存数据,保存整体系统可用性。 #如果数据是 幂律分布 也就是某些数据访问频率比较高 则适合allkeys-lru #如果数据是 平等分布 也就是访问频率比较平均 则适合allkeys-random #配对的配置: maxmemory-samples 3 #默认值3,上面LRU和最小TTL策略并非严谨的策略,而是大约估算的方式,因此可以选择取样值以便检查 #2.我的需求是只把redis当作缓存来用,所以持久化到硬盘对我的需求来说没有意义。配置 save "" #3.增加ip绑定(可选) redis 不够安全, # bind 192.168.1.100 10.0.0.1 # bind 127.0.0.1 #指定Redis 只接收来自于该IP 地址的请求,如果不进行设置,那么将处理所有请求,系统默认是注释掉的,不开启。在生产环境中为了安全最好设置该项。 4.maxclients 10000 #限制同时连接的客户数量。当连接数超过这个值时,redis 将不再接收其他连接请求,客户端尝试连接时将收到error 信息。默认为10000,要考虑系统文件描述符限制,不宜过大,浪费文件描述符,具体多少根据具体情况而定 #5.当一个redis支撑不了的时候再考虑Master-Slave模式 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了