缓存
Lyzxii
积累,进步;
展开
-
Redis的底层数据结构
目录 Redis对象概述 Redis对象的类型type和编码encoding 类型type 编码encoding ptr属性 字符串对象 编码类型 int编码 embstr编码 raw编码 字符串对象编码转换 字符串对象底层数据结构 简单动态字符串SDS SDS和C的字符串的区别 列表对象 编码类型 列表对象编码转换 列表对象底层数据结构 链表 压缩列表 哈希对象 ziplist编码 hashtable编码 哈希对象编码转换 哈希对象的底层数..原创 2019-06-23 15:18:34 · 353 阅读 · 0 评论 -
缓存穿透,缓存击穿,缓存雪崩、大Key
缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是缓存数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。 另外的一些典型问题就是:缓存穿透、缓存雪崩和缓存击穿。 缓存穿透 缓存穿透:是指查询一个数据库一定不存在的数据。(想象一下这个情况,如果传入的参数为-1,会是怎么样?这...原创 2019-05-06 18:04:50 · 831 阅读 · 0 评论 -
数据库缓存一致性的讨论
引入 在项目中,我们通常会适应缓存这个技术来避免巨大的数据库访问压力和提高获取数据的效率问题,在使用缓存中我们通常的模式是,第一次查询数据库,然后把结果放入缓存中,下次的查询会先访问缓存,当缓存不存在的时候才会访问数据库或者是其他的设置缓存策略,但是原理是一样的,在这种情况下会引发以下问题: 问题:怎么保持缓存与数据库一致? 也就是说在数据更新的时候,如何做到DB和缓存同时更新且保持一致?要...原创 2019-07-13 23:27:14 · 153 阅读 · 0 评论