redis中分析key大小的几种方法

phpmianshi2年前 (2019-04-13)缓存131
背景当redis被用作缓存时,有时我们希望了解key的大小分布,或者想知道哪些key占的空间比较大。本文提供了几种方法。一. bigKeys这是redis-cli自带的一个命令。对整个redis进行扫...

redis的bigkey问题如何解决

phpmianshi2年前 (2019-04-12)缓存361
寻找big key有如下几种方法redis-cli自带--bigkeys,例如:redis-cli -h -a --bigkeys获取生产Redis的rdb文件,通过rdbtools分析rdb生成cs...

redis的热key问题如何解决

phpmianshi2年前 (2019-04-11)缓存546
概念其实热key问题说来也很简单,就是瞬间有几十万的请求去访问redis上某个固定的key,那么,这样会造成流量过于集中,达到物理网卡上限,从而导致这台redis的服务器宕机。那接下来这个key的请求...

redis中过期数据的删除以及对性能的影响

phpmianshi4年前 (2017-05-25)缓存24
过期数据的删除对Redis性能影响当我们对某些 key 设置了 expire 时,数据到了时间会自动删除。如果一个键过期了,它会在什么时候删除呢?下面介绍三种删...

redis中底层的编码转换

phpmianshi4年前 (2017-05-22)缓存19
redis中底层的编码转换
编码转化Redis 使用对象(redisObject)来表示数据库中的键值,当我们在 Redis 中创建一个键值对时,至少创建两个对象,一个对象是用做键值对的键对象,另一...

redis中压缩列表ziplist的使用

phpmianshi4年前 (2017-05-21)缓存17
redis中压缩列表ziplist的使用
压缩列表压缩列表 ziplist 是为 Redis 节约内存而开发的,是列表键和字典键的底层实现之一。当元素个数较少时,Redis 用 zi...

redis中zset有序集合的底层实现

phpmianshi4年前 (2017-05-19)缓存16
redis中zset有序集合的底层实现
跳跃表Zset 是一个有序的链表结构,其底层的数据结构是跳跃表 skiplist,其结构如下:typedef struct zskiplistNode ...

redis中字典的底层实现

phpmianshi4年前 (2017-05-17)缓存17
redis中字典的底层实现
哈希表概述       表现为:存储位置 = f(key);    &...

redis中字符串的底层实现-SDS

phpmianshi4年前 (2017-05-15)缓存20
redis中字符串的底层实现-SDS
概述Redis 是用 C 语言开发完成的,但在 Redis 字符串中,并没有使用 C 语言中的字符串,而是用一种称为 S...

redis中缓存穿透与缓存雪崩缓存击穿

phpmianshi4年前 (2017-05-12)缓存15
背景缓存系统不得不考虑的另一个问题是缓存穿透与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致...

redis中单线程为什么这么快

phpmianshi4年前 (2017-04-09)缓存218
一. Redis性能如此高的原因1. 纯内存操作,内存的读写速度非常快2. 单线程,保证了每个操作的原子性,省去了很多上下文切换线程的时间3. 高效的数据结构,如压缩表,对短数据进行压缩存储,再如,跳...

Redis Hyperloglog实现UV数据统计

phpmianshi4年前 (2017-04-08)缓存202
Redis  自2.8.9起可用时间复杂度: O(1)添加每个元素。HyperLogLog 是一种概率数据结构,用来估算数据的基数。数据集可以是网站访客的 IP 地址,E-mail 邮箱或者...

Redis和memache缓存的区别

phpmianshi4年前 (2017-04-07)缓存252
1.数据类型Redis数据类型丰富,支持set list hash等类型memcache支持简单数据类型,需要客户端自己处理复杂对象2.持久性redis支持数据落地持久化存储,并不是所有的数据都一直存...

Redis中主从复制的原理详解

phpmianshi4年前 (2017-04-06)缓存229
主从复制的方式命令slaveof。优点:无需重启。缺点:不便于管理 // 命令行使用 slaveof ip port // 使用命令后自身...

redis中持久化机制对比

phpmianshi4年前 (2017-04-02)缓存16
RDB filesnapshotting1.按特定的时间间隔来为数据集做快照2.每次持久化都是将全量数据写入,而不是增量3.每次写入时先将数据写入临时文件再替换掉原来的rdb文件优点:1.RDB是一个...