01 2021 档案
摘要:QA:Redis到底有多快? 使用redis自带的benchmark脚本测试: cd /usr/local/soft/redis-6.0.9/src redis-benchmark -t set,lpush -n 100000 -q 结果: SET: 136239.78 requests per s
阅读全文
摘要:Lua是一种轻量级脚本语言,它是用C语言编写的,跟数据的存储过程有点类似。 使用Lua脚本来执行Redis命令的好处: 1、 一次发送多个命令,减少网络开销。 2、 Redis会将整个脚本作为一个整体执行,不会被其他请求打断,保持原子性。 3、 对于复杂的组合命令,我们可以放在文件中,可以实现命令复
阅读全文
摘要:发布订阅模式 列表的局限 通过队列的rpush和blpop可以实现消息队列(队尾进队头出),没有任何元素可以弹出的时候,连接会被阻塞。 但是基于list实现的消息队列,不支持一对多的消息分发,相当于只有一个消费者。 如果要实现一对多的消息分发,怎么办? 可以通过消息发布者(发布者)向指定的频道发布消
阅读全文
摘要:其他数据结构 BitMaps Bitmaps 是在字符串类型上面定义的位操作。一个字节由8个二进制位组成。 set k1 a 获取value在offset处的值(a对应的ASCII码是97,转换为二进制数据是01100001) getbit k1 0 修改二进制数据 setbit k1 6 1 se
阅读全文
摘要:List列表 存储类型 存储有序的字符串(从左到右),元素可以重复。最大存储数量2^32-1(40亿左右)。 操作命令 lpush queue a lpush queue b c lpush queue d e lpop queue lpop queue lindex queue 0 lrange
阅读全文
摘要:Hash哈希 存储类型 hash用来存储多个无序的键值对。最大存储数量2^32-1(40亿左右) 注意:前面我们说Redis所有的KV本身就是键值对,用dictEntry实现的,叫做外层的哈希、现在我们分析的是内层哈希。 同样是存储字符串,Hash与String的主要区别? 1.把所有相关的值聚集集
阅读全文
摘要:Redis Redis(REmote Dictionary Service) 远程字典服务,最开始 Redis 只支持 List。 Redis的特性 对于Redis,我们大部分时候的认识是一个缓存的组件,只是在很多互联网应用里面,他作为缓存发挥了最大的作用。 要了解特性之前,需要先回答以下问题: 1
阅读全文