缓存技术
文章平均质量分 76
qq_489366879
这个作者很懒,什么都没留下…
展开
-
Redis和数据库的数据一致性问题
在数据读多写少的情况下作为缓存来使用,恐怕是Redis使用最普遍的场景了。当使用Redis作为缓存的时候,一般流程是这样的。如果缓存在Redis中存在,即缓存命中,则直接返回数据如果Redis中没有对应缓存,则需要直接查询数据库,然后存入Redis,最后把数据返回一致性问题但是,在Redis的key值未过期的情况下,用户修改了个人信息,我们此时既要操作数据库数据,也要操作Redis数据。现在我们面临了两种选择:先操作Redis的数据,再操作数据库的数据 先操作数据库的数据,..原创 2022-04-21 14:24:32 · 723 阅读 · 0 评论 -
LRU算法 原理及实现
LRU原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。最常见的实现是使用一个链表保存缓存数据,详细算法实现如下新数据插入到链表头部; 每当缓存命中(即缓存数据被访问),则将数据移到链表头部; 当链表满的时候,将链表尾部的数据丢弃。 【命中率】 当存在热点数据时,LRU的效率很好,但偶发性的、周期性的批量操作会导致LRU命中率急剧下降,缓存污染情况比较严重。.原创 2021-07-15 15:10:57 · 921 阅读 · 0 评论 -
Linux Memcached 安装
Memcached 支持许多平台:Linux、FreeBSD、Solaris、Mac OS,也可以安装在Windows上。Linux系统安装memcached,首先要先安装libevent库。sudo apt-get install libevent libevent-deve 自动下载安装(Ubuntu/Debian)yum install libevent原创 2017-04-28 03:09:30 · 185 阅读 · 0 评论 -
ehcache memcache redis 比较
Ehcache在java项目广泛的使用。它是一个开源的、设计于提高在数据从RDBMS中取出来的高花费、高延迟采取的一种缓存方案。正因为Ehcache具有健壮性(基于java开发)、被认证(具有apache 2.0 license)、充满特色(稍后会详细介绍),所以被用于大型复杂分布式web application的各个节点中。什么特色?1. 够快 Ehcache的发行有一段时长了,经过几年的原创 2017-04-27 20:58:56 · 340 阅读 · 0 评论 -
缓存穿透与缓存雪崩
什么是缓存穿透?一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。如果key对应的value是一定不存在的,并且对该key并发请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。如何避免?1:对查询结果为空的情况也进行缓存,缓存时间设置短一点,或者该key对应的数据insert了之后清理缓存。2:对一定不存在的key...原创 2019-06-14 22:50:22 · 88 阅读 · 0 评论 -
关于Redis中缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等概念的入门及简单解决方案
一、缓存雪崩通俗简单的理解就是:由于原有缓存失效(或者数据未加载到缓存中),新缓存未到期间(缓存正常从Redis中获取,如下图)所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机,造成系统的崩溃。缓存失效的时候如下图:缓存失效时的雪崩效应对底层系统的冲击非常可怕!那有什么办法来解决这个问题呢?基本解决思路如下:第一,...转载 2019-06-14 23:30:48 · 109 阅读 · 0 评论