| 作 者: | 黄健宏 |
| 出版社: | 人民邮电出版社 |
| 丛编项: | |
| 版权说明: | 本书为公共版权或经版权方授权,请支持正版图书 |
| 标 签: | 暂缺 |
| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
第 一部分 内部组件
第 1章 缓存文本数据 3
1.1 需求描述 3
1.2 解决方案:使用字符串键缓存单项数据 3
1.3 实现代码:使用字符串键缓存单项数据 4
1.4 解决方案:使用JSON/哈希键缓存多项数据 5
1.5 实现代码:使用JSON/哈希键缓存多项数据 6
1.6 重点回顾 9
第 2章 缓存二进制数据 11
2.1 需求描述 11
2.2 解决方案 11
2.3 实现代码 12
2.4 重点回顾 13
第3章 锁 15
3.1 需求描述 15
3.2 解决方案 15
3.3 实现代码 16
3.4 扩展方案:带自动解锁功能的锁 17
3.5 重点回顾 19
第4章 带密码保护功能的锁 21
4.1 需求描述 21
4.2 解决方案 21
4.3 实现代码 22
4.4 重点回顾 23
第5章 自增数字ID 25
5.1 需求描述 25
5.2 解决方案:使用字符串键 25
5.3 实现代码:使用字符串键实现自增数字ID生成器 26
5.4 解决方案:使用哈希键 27
5.5 实现代码:使用哈希键实现自增数字ID生成器 27
5.6 重点回顾 28
第6章 计数器 29
6.1 需求描述 29
6.2 解决方案:使用字符串键 29
6.3 实现代码:使用字符串键实现计数器 30
6.4 解决方案:使用哈希键 31
6.5 实现代码:使用哈希键实现计数器 32
6.6 重点回顾 33
第7章 唯一计数器 35
7.1 需求描述 35
7.2 解决方案:使用集合键 35
7.3 实现代码:使用集合键实现唯一计数器 36
7.4 解决方案:使用HyperLogLog键 37
7.5 实现代码:使用HyperLogLog键实现唯一计数器 38
7.6 重点回顾 39
第8章 速率限制器 41
8.1 需求描述 41
8.2 解决方案 41
8.3 实现代码 42
8.4 重点回顾 45
第9章 二元操作记录器 47
9.1 需求描述 47
9.2 解决方案 47
9.3 实现代码 48
9.4 重点回顾 49
第 10章 资源池 51
10.1 需求描述 51
10.2 解决方案 51
10.3 实现代码 52
10.4 重点回顾 54
第 11章 紧凑字符串 57
11.1 需求描述 57
11.2 解决方案 58
11.3 实现代码 58
11.4 重点回顾 60
第 12章 数据库迭代器 61
12.1 需求描述 61
12.2 解决方案 61
12.3 实现代码 62
12.4 扩展实现:数据库采样程序 64
12.5 重点回顾 66
第 13章 流迭代器 67
13.1 需求描述 67
13.2 解决方案:使用XRANGE 67
13.3 实现代码:使用XRANGE实现
流迭代器 69
13.4 解决方案:使用XREAD 70
13.5 实现代码:使用XREAD实现流 迭代器 71
13.6 重点回顾 73
第二部分 外部应用
第 14章 消息队列 77
14.1 需求描述 77
14.2 解决方案 77
14.3 实现代码 78
14.4 扩展实现:直播间弹幕系统 80
14.5 重点回顾 82
第 15章 标签系统 85
15.1 需求描述 85
15.2 解决方案 85
15.3 实现代码 86
15.4 扩展实现:为根据标签查找目
标功能加上缓存 88
15.5 重点回顾 90
第 16章 自动补全 91
16.1 需求描述 91
16.2 解决方案 91
16.3 实现代码 92
16.4 扩展实现:自动移除冷门输入建议表 94
16.5 重点回顾 96
第 17章 抽奖 97
17.1 需求描述 97
17.2 解决方案 97
17.3 实现代码 98
17.4 重点回顾 100
第 18章 社交关系 101
18.1 需求描述 101
18.2 解决方案 101
18.3 实现代码 102
18.4 重点回顾 105
第 19章 登录会话 107
19.1 需求描述 107
19.2 解决方案 107
19.3 实现代码 108
19.4 重点回顾 110
第 20章 短网址生成器 111
20.1 需求描述 111
20.2 解决方案 111
20.3 实现代码 113
20.4 扩展实现:为短网址生成器加上缓存 114
20.5 重点回顾 116
第 21章 投票 117
21.1 需求描述 117
21.2 解决方案 117
21.3 实现代码 119
21.4 重点回顾 121
第 22章 排行榜 123
22.1 需求描述 123
22.2 解决方案 123
22.3 实现代码 124
22.4 重点回顾 126
第 23章 分页 127
23.1 需求描述 127
23.2 解决方案 127
23.3 实现代码 129
23.4 重点回顾 131
第 24章 时间线 133
24.1 需求描述 133
24.2 解决方案 133
24.3 实现代码 135
24.4 重点回顾 138
第 25章 地理位置 139
25.1 需求描述 139
25.2 解决方案 139
25.3 实现代码 140
25.4 扩展实现:实现“摇一摇”功能 142
25.5 扩展实现:为“摇一摇”功 能设置缓存 143
25.6 重点回顾 145
第三部分 数据结构
第 26章 先进先出队列 149
26.1 需求描述 149
26.2 解决方案 149
26.3 实现代码 150
26.4 扩展实现:反方向的队列 152
26.5 重点回顾 153
第 27章 定长队列和淘汰队列 155
27.1 需求描述 155
27.2 解决方案 155
27.3 实现代码 157
27.4 扩展实现:淘汰队列 158
27.5 重点回顾 160
第 28章 栈(后进先出队列) 161
28.1 需求描述 161
28.2 解决方案 161
28.3 实现代码 162
28.4 扩展实现:为栈添加更多方法 163
28.5 重点回顾 164
第 29章 优先队列 165
29.1 需求描述 165
29.2 解决方案 165
29.3 实现代码 167
29.4 扩展实现:为优先队列加上阻塞操作 169
29.5 重点回顾 170
第30章 循环队列 171
30.1 需求描述 171
30.2 解决方案 171
30.3 实现代码 172
30.4 扩展实现:无重复元素的循环队列 174
30.5 重点回顾 176
第31章 矩阵 177
31.1 需求描述 177
31.2 解决方案:使用列表 177
31.3 实现代码:使用列表实现矩阵存储 178
31.4 解决方案:使用位图 180
31.5 实现代码:使用位图实现矩阵存储 181
31.6 重点回顾 184
第32章 逻辑矩阵 185
32.1 需求描述 185
32.2 解决方案 185
32.3 实现代码 186
32.4 扩展实现:优化内存占用 188
32.5 重点回顾 192