Code Redis笔记-关于缓存雪崩、击穿和穿透 今天我们讲讲用 redis 缓存时容易遇到的一些问题。首先要明确一点的是,缓存雪崩、击穿、穿透这些名词虽然是针对缓存的,但是实际的受害方往往是数据库(存储层)。
Code Redis笔记-结构篇-通用对象 前面在讲字典的时候我们曾提到过整个 redis 的 db 中 key-value 结构也是一个 dict,dict 的 key 我们知道是一个字符串 SDS(参照我之前的文章),那么 value 的话可以对应多种类型,为了统一管理 value 的多种类型,redis 提供了一个通用的对象结构 redisObject。
Code Redis笔记-结构篇-字符串 众所周知,redis 是用 c 语言写的。学过 c 语言的同学想必也对 c 语言中的字符串类型有所认识,c 语言没有专门定义字符串数据类型(如其他语言中的string),它用以 '/0' 结尾的字符数组 char[] 来表示一个逻辑意义上的字符串。
Code Redis笔记-结构篇-跳跃列表 大家知道 redis 五种常用的数据结构有:字符串(string), 散列(hash), 列表(list), 集合(set)和有序集合(sorted set) 。相对而言 sorted set(以下简称为zset) 用的相对较少,它他的实现结构却很有趣,这种结构被称为 跳跃列表 skiplist ,后面我还会结合一个日常生活的例子来解释它。
Code Redis笔记-结构篇-特殊结构汇总 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(string), 散列(hash), 列表(list), 集合(set), 有序集合(sorted set) 与范围查询, bitmap, hyperloglog 和 地理空间(geospatial) 索引半径查询。
Code Redis笔记-结构篇-快速列表 在介绍快速列表之前,建议你要先了解下 ziplist 和 adlist,特别是 ziplist (参考我的文章《【最完整系列】Redis-结构篇-压缩列表》),关于 adlist 下面我会简单解释一下。
Code Redis笔记-结构篇-压缩列表 压缩列表 ziplist 在 redis 中的应用也非常广泛,它是我们常用的 zset ,list 和 hash 结构的底层实现之一。当我们的容器对象的元素个数小于一定条件时,redis 会使用 ziplist 的方式储存,来减少内存的使用。