缓存
文章平均质量分 63
不行就改名
这个作者很懒,什么都没留下…
展开
-
Redis理解之数据结构
我们知道redis里面的每个键值对都是有对象组成的。其中,键总是字符串对象,而值可以是字符串对象、列表对象、哈希对象、集合对象和有序对象 这五个对象的任意一种。下面将会分别介绍以上涉及到的五种对象的底层数据结构。 1)简单动态字符串(SDS) 区别于C语言的字符串,redis构建了简单动态字符串SDS作为默认的字符串表示,来看一下SDS的定义: 上左图就是SD...原创 2018-04-02 16:00:16 · 237 阅读 · 0 评论 -
Redis理解之对象类型
上篇博客提到过redis里面涉及到 字符串对象、列表对象、哈希对象、集合对象和有序对象 这五种对象类型。下面将分别对这五个对象做进一步了解。 redis对象都是由一个redisObject结构来表示的,该结构如下: 类型type包括以下五种: 编码encoding记录了对象所使用的编码,涉及到的编码如下图所示:redis中每个类型的对象最少使用两种不同的编码,下...原创 2018-04-03 17:50:26 · 625 阅读 · 0 评论 -
Redis理解之单线程架构
Redis使用了单线程架构和I/O多路复用模型来实现高性能的内存数据库服务,下面来分析Redis单线程模型为什么性能如此之高。 通常来讲,单线程处理能力要比多线程差,例如有10000斤货物,每辆车的运载能力是每次200斤,那么要50次才能完成,但是如果有50辆车,只要安排合理,只需要一次就可以完成任务。那么为什么Redis使用单线程模型会达到每秒万级别的处理能力呢?可以将...原创 2018-04-24 13:39:08 · 1961 阅读 · 0 评论 -
Redis理解之缓存设计
缓存能够有效地加速应用的读写速度,同时也可以降低后端负载,对日常应用的开发至关重要。下面会介绍缓存使用技巧和设计方案,包含如下内容:缓存的收益和成本分析、缓存更新策略的选择和使用场景、缓存粒度控制方法、穿透问题优化、无底洞问题优化、雪崩问题优化、热点key重建优化。 1)缓存的收益和成本分析 下图左侧为客户端直接调用存储层的架构,右侧为比较典型的缓存层+存储层架构...原创 2018-04-24 15:23:39 · 4607 阅读 · 0 评论