
redis
文章平均质量分 66
请叫我黄同学
4年经验的java,在博客方面,是个新人,看到博客写的不好方面,多多指教,会把自己平时学的知识,分享给大家,希望可以帮助大家
展开
-
缓存雪崩、缓存穿透、缓存击穿的理解以及如何避免?
缓存雪崩缓存雪崩就是存储在缓存里面的大量数据在同一个时刻全部过期,原本缓存组件能够扛住大部分流量,全部请求到了数据库,从而导致数据库压力增加,造成数据库服务器的崩溃一种现象。导致缓存雪崩的原因中间件宕机(可以对缓存中间件做高可用来避免)缓存中大部分key都设置了相同的过期时间(可以在失效时间里面去增加1-5分钟的随机值,避免同时失效的问题)缓存穿透缓存穿透表示段时间内有大量的不存在key请求到应用程序里面,而这些不存在key,在缓存里面又找不到,从而导致全部的请求,全部穿透到了数据库,造成原创 2022-04-12 19:47:59 · 932 阅读 · 0 评论 -
Redis和Mysql如何保证数据一致性?
Redis和Mysql如何保证数据一致性Redis和Mysql如何保证数据一致性一般情况下Redis是用来实现应用和数据库之间的一个读操作的缓存层,主要目的是减少数据库的io,还可以提升数据库io性能它的一个整体架构1.命中缓存从缓存加载数据,直接返回2.没有命中缓存,从数据库加载加载数据3.加载到的数据写入缓存一份数据同时保存在数据库和Redis里面,当数据发生变化的时候,需要同时更新Redis和Mysql,由于更新操作是有先后顺序的,并且它并不像Mysql中的多表事务操作可以满足ACID原创 2022-04-01 10:53:02 · 1724 阅读 · 1 评论 -
Redis的内存淘汰算法和原理是什么
Redis的内存淘汰算法和原理是什么Redis里面的内存淘汰策略,是指当内存的使用率达到了maxmemory的上限的时候,它的一种内存释放的一个行为.Redis里面提供了很多种内存的淘汰算法归纳起来主要有4种1.随机,随机移除某个key2.TTL算法 就是在设置了过期时间的键里面呢,去找到更早过期的时间key进行有限的移除3.LRU算法去移除最近很少使用的key4.LFU算法跟LRU算法是类似的LRU算法是一种常见的内存淘汰算法,在Redis里面它会维护一个大小为16的候选池,而这个候选池里面原创 2022-04-01 12:27:05 · 4049 阅读 · 0 评论