缓存数据redis满了怎么办?

缓存数据满了怎么办?
  • 首先要明确, 用作缓存的数据都是设置了过期时间的, 没有过期时间那不叫缓存, 那叫持久化.

如果遇到缓存满了又该怎么办呢?

  • 加内存
    • 这是最简单粗暴的办法, 不过成本相对较高
  • 内存淘汰策略
    • redis的内存淘汰策略是指在Redis的用于缓存的内存不足时, 怎么处理需要新写入且需要申请额外空间的数据.
    • maxmemory参数: 设置内存的最大使用量(配置)
    • maxmemory-policy参数: 对应的内存淘汰规则(配置), 当内存不够用时, 会设置的内存淘汰规则
规则 规则说明
noeviction 当内存不足以容纳新写入的数据时, 新写入操作会报错
allkeys-lru 当内存不足以容纳新写入数据时, 在键空间中, 移除最近最少使用的key
allkeys-random 当内存不足以容纳新写入数据时, 在键空间中, 随机移除某个key
volatile-lru 当内存不足以容纳新写入数据时, 在设置了过期时间的键空间中, 移除最近最少使用的key
volatile-lru 当内存不足以容纳新写入数据时, 在设置了过期时间的键空间中, 移除最近最少使用的key
volatile-ttl 当内存不足以容纳新写入数据时, 在设置了过期时间的键空间中, 有更早过期时间的key优先移除
  • 集群
    • slaveof 从机替换主机, 主机下来后做相应的操作
    • 配置多主多从

你可能感兴趣的:(缓存数据redis满了怎么办?)