当前位置:首页 > 内存 > 正文

当redis内存满了怎么办

  • 内存
  • 2024-06-06 11:52:25
  • 3593

一、redis怎么删数据

Redis中常用的删除策略有以下三种:
1被动删除(懒惰删除):当读/写某个Key过期时,会触发懒惰删除策略,删除该Key。继续。关键;
2。主动删除(普通删除):Redis会进行正常检查,清除过期的锁;
3当内存达到最大内存配置时,会触发锁删除操作;
主动删除

在Redis中,常见的操作都是由redis.c/serverCron来执行的,主要执行以下操作:
1.更新各种服务器统计信息,例如时间、内存使用情况、数据库使用情况等。
2。清理数据库中过期的键值对。
3。不合理地调整数据库大小。
4。关闭并清理连接失败的客户端。
5。尝试执行AOF或RDB持久化操作。
6如果服务器为主节点,则进行从节点的正常同步。
如果处于集群模式,请在集群上执行正常的同步和连接测试。
Redis将serverCron作为时间事件来运行,以确保它会时不时地自动运行,并且由于serverCron在Redis服务器运行时需要频繁运行,因此它是一个循环时间事件:serverCron总是会频繁运行。运行直到服务器关闭。
总结

如果Redis每天有大量的Lock过期(比如几千万),那么就必须考虑清理过期的Key:
增加Redis主动清理的频率(通过增加参数hz)手动清理过期密钥的最简单方法是执行扫描操作。scan操作会触发第一次被动删除>dbsize命令返回的key数量包含过期的key
randomkeys命令返回的key不包含Keys
scan命令返回的过期key,但包含该命令
expiredKeyinfo#Keyspace
db6:keys=1034937352,expired=994731489,avg_ttl=507838502
该key对应的Key数量等于dbs的大小
expired是指数量具有指定过期时间的密钥
指令。指定过期时间的Key过期时间的平均值(单位:毫秒)


二、redis缓存数据,内存占满,怎么解决1、增加记忆力。
2.卸载数据,或将其分布到多台计算机上。它可以根据一致的哈希算法进行分发。
3.设置缓存数据的生命周期,避免缓存不重要的数据。或者,您可以缩短缓存时间。