
Redis
漠翊歌
喜欢写写博客,记录自己的学习过程
展开
-
redis缓存雪崩、缓存穿透、缓存击穿的概念和解决方案
缓存雪崩 缓存雪崩表示在某一时间段,缓存集中失效,导致请求全部请求到数据库对数据库造成巨大压力。 解决方案 1、缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生。 2、如果缓存数据库是分布式部署,将热点数据均匀分布在不同的缓存数据库中。 3、设置热点数据永远不过期。 缓存穿透 缓存穿透是指大量请求数据库和缓存中都不存在的数据,对数据库造成巨大压力。 解决方案 1、布隆过滤器,可以先判断key值是否存在,如果不存在,则不访问redis,那这样就可以拦截大量的请求,布隆过滤器恰好可以实原创 2020-12-03 15:23:55 · 744 阅读 · 0 评论 -
Redis实现消息队列的4种方案
Redis作为内存中的数据结构存储,常用作数据库、缓存和消息代理。它支持数据结构,如 字符串,散列,列表,集合,带有范围查询的排序集(sorted sets),位图(bitmaps),超级日志(hyperloglogs),具有半径查询和流的地理空间索引。Redis具有内置复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区。 为了实现其出色的性能,Redis使用内存数据集(in-memory dataset)。 MQ应用有很多,比如转载 2020-11-23 11:27:14 · 752 阅读 · 0 评论 -
redis OBJECT REFCOUNT 0-9999 会显示 (integer) 2147483647
阅读《redis设计与实现》时候,书中提到redis为了节省内存会在初始化服务器时,创建一万个字符串对象,这些对象包含了1到9999的所有整数值,当服务器需要用到值为0到9999的字符串对象时,服务器就会使用这些共享对象,而不是创建新的对象。 书中提到如果创建一个值为100的键A,并使用OBJECT REFCOUNT命令查看A的 引用计数: redis> SET A 100 OK redis> OBJECT REFCOUNT A (integer) 2 但是当在本机实操时候得到结果图如下:原创 2020-11-20 12:10:39 · 2118 阅读 · 12 评论