
redis
一只特立独行的SB猴子
程序猿暖男一枚。。。
展开
-
缓存一致性问题怎么解决
关于 Redis 的其他的一些面试问题已经写过了,比如常见的缓存穿透、雪崩、击穿、热点的问题,但是还有一个比较麻烦的问题就是如何保证缓存一致性。对于缓存和数据库的操作,主要有以下两种方式。先删缓存,再更新数据库先删除缓存,数据库还没有更新成功,此时如果读取缓存,缓存不存在,去数据库中读取到的是旧值,缓存不一致发生。解决方案延时双删延时双删的方案的思路是,为了避免更新数据库的时候,其他线程从缓存中读取不到数据,就在更新完数据库之后,再 Sleep 一段...转载 2020-12-24 11:01:40 · 1165 阅读 · 1 评论 -
redis过期键删除策略
redis服务器实际使用的过期键删除策略有两种:定期删除 惰性删除redis 会将每个设置了过期时间的 key 放入到一个独立的字典中,以后会定时遍历这个字典来删除到期的 key。除了定时遍历之外,它还会使用惰性策略来删除过期的 key,所谓惰性策略就是在客户端访问这个 key 的时候,redis 对 key 的过期时间进行检查,如果过期了就立即删除。定时删除是集中处理,惰性删除是零散处理。通过配合使用这两种删除策略,服务器可以很好地合理使用cpu时间和避免浪费内存空间之间取得平衡。1.定期转载 2020-07-14 11:01:49 · 252 阅读 · 0 评论 -
使用spring boot 2.0后集成的redis报直接内存溢出异常
在使用spring boot 2.0后集成的redis,在高并发的情况下报 如上图所示的异常:Redis exception; nested exception is io.lettuce.core.RedisException: io.netty.util.internal.OutOfDirectMemoryError: failed to allocate 37748736 byte(s) of direct原因有如下:1、spring boot 2.0以后默认使用的是lettuce...原创 2020-05-26 20:39:09 · 3192 阅读 · 0 评论