Redis
文章平均质量分 95
麦克马
码农
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
(五)缓存问题之缓存雪崩、缓存击穿和缓存穿透与布隆过滤器
缓存异常会面临的三个问题:缓存雪崩、击穿和穿透。其中,缓存雪崩和缓存击穿主要原因是数据不在缓存中,而导致大量请求访问了数据库,数据库压力骤增,容易引发一系列连锁反应,导致系统奔溃。不过,一旦数据被重新加载回缓存,应用又可以从缓存快速读取数据,不再继续访问数据库,数据库的压力也会瞬间降下来。因此,缓存雪崩和缓存击穿应对的方案比较类似。而缓存穿透主要原因是数据既不在缓存也不在数据库中。因此,缓存穿透与缓存雪崩、击穿应对的方案不太一样。原创 2025-03-11 20:54:38 · 838 阅读 · 0 评论 -
(三)Redis内存兜底策略——内存淘汰及回收机制
在算法的选择上,Redis需要能够快速地查询添加删除数据,也就是说查询、添加、删除的时间复杂读需为O(1)。哈希表能保证查询数据的时间复杂度为O(1)。Redis内存淘汰机制是指在Redis的用于缓存的内存不足时,怎么处理需要新写入且需要申请额外空间的数据Redis提供了八种内存淘汰策略,分别是:noeviction:不会淘汰任何键,达到内存限制后返回错误allkeys-random:在所有键中,随机删除键volatile-random:在设置了过期时间的键中,随机删除键。原创 2025-03-21 16:43:59 · 767 阅读 · 0 评论 -
(二)缓存更新的四种策略及选取建议
缓存更新是指在数据发生变化时,保持缓存和数据库的数据一致性的问题。如果缓存和数据库的数据不一致,会导致用户看到过期或者错误的数据,影响业务逻辑和用户体验。不同于以上三种,应用程序无需等待数据的刷新,也无需自己去触发数据的刷新,而是后台服务来完成这些操作。原创 2025-03-21 16:13:26 · 1405 阅读 · 0 评论 -
(一)redis十种数据类型及底层原理
string 是 Redis 最基本的数据类型,它可以存储任意类型的数据,比如文本、数字、图片或者序列化的对象。一个 string 类型的键最大可以存储 512 MB 的数据。string 类型的底层实现是 SDS(simple dynamic string),它是一个动态字符串结构,由长度、空闲空间和字节数组三部分组成。embstr:占用64Bytes的空间,存储44Bytes的数据raw:存储大于44Bytes的数据int:存储整数类型embstr和raw存储字符串数据,int存储整型数据。原创 2025-03-21 15:45:59 · 891 阅读 · 0 评论 -
(四)Redis的三种持久化策略及选取建议
RDB持久化策略是指在一定的时间间隔内,将Redis内存中的数据以二进制文件的形式保存到硬盘上。这个二进制文件就是一个快照,它记录了某个时刻Redis内存中的所有数据。RDB持久化策略可以通过配置文件或者命令来触发,配置文件中可以设置多个条件,当任意一个条件满足时,就会执行一次快照操作。save 900 1 # 900秒内执行一次 set 操作 则持久化1次save 300 10 # 300秒内执行10次 set 操作,则持久化1次。原创 2025-03-21 14:10:51 · 1197 阅读 · 0 评论
分享