目 录
开篇:授人以鱼不若授人以渔—— Redis 可以用来做什么? ..................................................... 7
由 Redis 面试想到的 ............................................................................................................... 7
小册的内容范围........................................................................................................................ 8
Redis 可以做什么? ................................................................................................................. 8
小结 ........................................................................................................................................... 9
扩展阅读 ................................................................................................................................... 9
基础:万丈高楼平地起 ——Redis 基础数据结构 ..................................................................... 11
Redis 安装 .............................................................................................................................. 11
Redis 基础数据结构 ............................................................................................................... 12
string (字符串) .................................................................................................................. 12
list (列表) .......................................................................................................................... 15
hash (字典)........................................................................................................................ 17
set (集合) .......................................................................................................................... 19
容器型数据结构的通用规则 .................................................................................................. 22
思考 & 作业 .......................................................................................................................... 22
扩展阅读 ................................................................................................ ................................. 23
应用 1:千帆竞发 —— 分布式锁.............................................................................................. 23
分布式锁 ................................................................................................ ................................. 24
超时问题 ................................................................................................ ................................. 25
可重入性 ................................................................................................ ................................. 26
思考题 ..................................................................................................................................... 28
应用 2:缓兵之计 —— 延时队列.............................................................................................. 29
异步消息队列 ......................................................................................................................... 29
队列空了怎么办? .................................................................................................................. 30
队列延迟 ................................................................................................ ................................. 31
空闲连接自动断开 .................................................................................................................. 31
锁冲突处理 ............................................................................................................................. 31
延时队列的实现...................................................................................................................... 32
进一步优化 ............................................................................................................................. 35
思考 ......................................................................................................................................... 35
应用 3:节衣缩食 —— 位图 ................................................................ ..................................... 35
基本使用 ................................................................................................ ................................. 36
统计和查找 ............................................................................................................................. 38
魔术指令 bitfield .................................................................................................................... 39
思考 & 作业 ................................ .......................................................................................... 42
应用 4:四两拨千斤 —— HyperLogLog ................................................................ .................... 42
使用方法 ................................................................................................ ................................. 43
pfadd 这个 pf 是什么意思? ................................................................................................ 46
pfmerge 适合什么场合用? ................................................................ ................................... 46
注意事项 ................................................................................................ ................................. 46
HyperLogLog 实现原理 ................................................................................................ ......... 47
评论