定 價(jià):¥139.00
作 者: | 黃健宏 著 |
出版社: | 機(jī)械工業(yè)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787111636526 | 出版時(shí)間: | 2019-10-01 | 包裝: | 平裝 |
開(kāi)本: | 16開(kāi) | 頁(yè)數(shù): | 556 | 字?jǐn)?shù): |
前 言
第1章 引言 1
1.1 Redis簡(jiǎn)介 1
1.2 內(nèi)容編排 3
1.3 目標(biāo)讀者 4
1.4 預(yù)備工作 4
1.5 執(zhí)行命令 5
1.6 配置服務(wù)器 6
1.7 示例代碼 7
1.8 版本說(shuō)明 7
1.9 讀者服務(wù)網(wǎng)站 8
1.10 啟程 8
第一部分 數(shù)據(jù)結(jié)構(gòu)與應(yīng)用
第2章 字符串 10
2.1 SET:為字符串鍵設(shè)置值 11
2.2 GET:獲取字符串鍵的值 13
2.3 GETSET:獲取舊值并設(shè)置新值 14
示例:緩存 14
示例:鎖 16
2.4 MSET:一次為多個(gè)字符串鍵設(shè)置值 18
2.5 MGET:一次獲取多個(gè)字符串鍵的值 19
2.6 MSETNX:只在鍵不存在的情況下,一次為多個(gè)字符串鍵設(shè)置值 20
示例:存儲(chǔ)文章信息 20
2.7 STRLEN:獲取字符串值的字節(jié)長(zhǎng)度 25
2.8 字符串值的索引 26
2.9 GETRANGE:獲取字符串值指定索引范圍上的內(nèi)容 26
2.10 SETRANGE:對(duì)字符串值的指定索引范圍進(jìn)行設(shè)置 27
示例:給文章存儲(chǔ)程序加上文章長(zhǎng)度計(jì)數(shù)功能和文章預(yù)覽功能 31
2.11 APPEND:追加新內(nèi)容到值的末尾 32
示例:存儲(chǔ)日志 34
2.12 使用字符串鍵存儲(chǔ)數(shù)字值 37
2.13 INCRBY、DECRBY:對(duì)整數(shù)值執(zhí)行加法操作和減法操作 37
2.14 INCR、DECR:對(duì)整數(shù)值執(zhí)行加1操作和減1操作 40
2.15 INCRBYFLOAT:對(duì)數(shù)字值執(zhí)行浮點(diǎn)數(shù)加法操作 41
示例:ID生成器 43
示例:計(jì)數(shù)器 44
示例:限速器 46
2.16 重點(diǎn)回顧 48
第3章 散列 49
3.1 散列簡(jiǎn)介 50
3.2 HSET:為字段設(shè)置值 51
3.4 HGET:獲取字段的值 54
示例:實(shí)現(xiàn)短網(wǎng)址生成程序 55
3.5 HINCRBY:對(duì)字段存儲(chǔ)的整數(shù)值執(zhí)行加法或減法操作 58
3.6 HINCRBYFLOAT:對(duì)字段存儲(chǔ)的數(shù)字值執(zhí)行浮點(diǎn)數(shù)加法或減法操作 59
示例:使用散列鍵重新實(shí)現(xiàn)計(jì)數(shù)器 60
3.7 HSTRLEN:獲取字段值的字節(jié)長(zhǎng)度 63
3.8 HEXISTS:檢查字段是否存在 63
3.9 HDEL:刪除字段 64
3.10 HLEN:獲取散列包含的字段數(shù)量 65
示例:實(shí)現(xiàn)用戶登錄會(huì)話 66
3.11 HMSET:一次為多個(gè)字段設(shè)置值 69
3.12 HMGET:一次獲取多個(gè)字段的值 70
3.13 HKEYS、HVALS、HGETALL:獲取所有字段、所有值、所有字段和值 71
示例:存儲(chǔ)圖數(shù)據(jù) 73
示例:使用散列鍵重新實(shí)現(xiàn)文章存儲(chǔ)?程序 77
3.14 散列與字符串 79
3.15 重點(diǎn)回顧 82
第4章 列表 83
4.1 LPUSH:將元素推入列表左端 84
4.2 RPUSH:將元素推入列表右端 86
4.3 LPUSHX、RPUSHX:只對(duì)已存在的列表執(zhí)行推入操作 88
4.4 LPOP:彈出列表最左端的元素 90
4.5 RPOP:彈出列表最右端的元素 91
4.6 RPOPLPUSH:將右端彈出的元素推入左端 92
示例:先進(jìn)先出隊(duì)列 95
4.7 LLEN:獲取列表的長(zhǎng)度 96
4.8 LINDEX:獲取指定索引上的元素 97
4.9 LRANGE:獲取指定索引范圍上的元素 98
示例:分頁(yè) 101
4.10 LSET:為指定索引設(shè)置新元素 103
4.11 LINSERT:將元素插入列表 104
4.12 LTRIM:修剪列表 105
4.13 LREM:從列表中移除指定元素 107
示例:待辦事項(xiàng)列表 109
4.14 BLPOP:阻塞式左端彈出操作 112
4.15 BRPOP:阻塞式右端彈出操作 114
4.16 BRPOPLPUSH:阻塞式彈出并推入操作 114
示例:帶有阻塞功能的消息隊(duì)列 116
4.17 重點(diǎn)回顧 119
第5章 集合 120
5.1 SADD:將元素添加到集合 121
5.2 SREM:從集合中移除元素 122
5.3 SMOVE:將元素從一個(gè)集合移動(dòng)到另一個(gè)集合 123
5.4 SMEMBERS:獲取集合包含的所有元素 125
5.5 SCARD:獲取集合包含的元素?cái)?shù)量 126
5.6 SISMEMBER:檢查給定元素是否存在于集合 127
示例:唯一計(jì)數(shù)器 128
示例:打標(biāo)簽 129
示例:點(diǎn)贊 131
示例:投票 132
示例:社交關(guān)系 135
5.7 SRANDMEMBER:隨機(jī)獲取集合中的元素 137
5.8 SPOP:隨機(jī)地從集合中移除指定數(shù)量的元素 139
示例:抽獎(jiǎng) 141
5.9 SINTER、SINTERSTORE:對(duì)集合執(zhí)行交集計(jì)算 142
5.10 SUNION、SUNIONSTORE:對(duì)集合執(zhí)行并集計(jì)算 143
5.11 SDIFF、SDIFFSTORE:對(duì)集合執(zhí)行差集計(jì)算 144
示例:共同關(guān)注與推薦關(guān)注 146
示例:使用反向索引構(gòu)建商品篩選器 149
5.12 重點(diǎn)回顧 152
第6章 有序集合 153
6.1 ZADD:添加或更新成員 154
6.2 ZREM:移除指定的成員 156
6.3 ZSCORE:獲取成員的分值 157
6.4 ZINCRBY:對(duì)成員的分值執(zhí)行自增或自減操作 158
6.5 ZCARD:獲取有序集合的大小 160
6.6 ZRANK、ZREVRANK:獲取成員在有序集合中的排名 161
6.7 ZRANGE、ZREVRANGE:獲取指定索引范圍內(nèi)的成員 162
示例:排行榜 165
6.8 ZRANGEBYSCORE、ZREVRAN-GEBYSCORE:獲取指定分值范圍內(nèi)的成員 167
6.9 ZCOUNT:統(tǒng)計(jì)指定分值范圍內(nèi)的成員數(shù)量 171
示例:時(shí)間線 172
6.10 ZREMRANGEBYRANK:移除指定排名范圍內(nèi)的成員 175
6.11 ZREMRANGEBYSCORE:移除指定分值范圍內(nèi)的成員 176
6.12 ZUNIONSTORE、ZINTERSTORE:有序集合的并集運(yùn)算和交集運(yùn)算 176
示例:商品推薦 181
6.13 ZRANGEBYLEX、ZREVRAN-GEBYLEX:返回指定字典序范圍內(nèi)的成員 182
6.14 ZLEXCOUNT:統(tǒng)計(jì)位于字典序指定范圍內(nèi)的成員數(shù)量 185
6.15 ZREMRANGEBYLEX:移除位于字典序指定范圍內(nèi)的成員 186
示例:自動(dòng)補(bǔ)全 187
6.16 ZPOPMAX、ZPOPMIN:彈出分值最高和最低的成員 188
6.17 BZPOPMAX、BZPOPMIN:阻塞式最大/最小元素彈出操作 189
6.18 重點(diǎn)回顧 191
第7章 HyperLogLog 192
7.1 HyperLogLog簡(jiǎn)介 193
7.2 PFADD:對(duì)集合元素進(jìn)行計(jì)數(shù) 193
7.3 PFCOUNT:返回集合的近似基數(shù) 194
示例:優(yōu)化唯一計(jì)數(shù)器 195
示例:檢測(cè)重復(fù)信息 196
7.4 PFMERGE:計(jì)算多個(gè)HyperLogLog的并集 198
示例:實(shí)現(xiàn)每周/月度/年度計(jì)數(shù)器 199
7.5 重點(diǎn)回顧 200
第8章 位圖 201
8.1 SETBIT:設(shè)置二進(jìn)制位的值 201
8.2 GETBIT:獲取二進(jìn)制位的值 203
8.3 BITCOUNT:統(tǒng)計(jì)被設(shè)置的二進(jìn)制位數(shù)量 204
示例:用戶行為記錄器 207
8.4 BITPOS:查找第一個(gè)指定的二進(jìn)制位值 208
8.5 BITOP:執(zhí)行二進(jìn)制位運(yùn)算 211
示例:0-1矩陣 212
8.6 BITFIELD:在位圖中存儲(chǔ)整數(shù)值 214
示例:緊湊計(jì)數(shù)器 219
8.7 使用字符串命令對(duì)位圖進(jìn)行操作 221
8.8 重點(diǎn)回顧 222
第9章 地理坐標(biāo) 223
9.1 GEOADD:存儲(chǔ)坐標(biāo) 224
9.2 GEOPOS:獲取指定位置的坐標(biāo) 224
9.3 GEODIST:計(jì)算兩個(gè)位置之間的直線距離 225
示例:具有基本功能的用戶地理位置程序 226
9.4 GEORADIUS:查找指定坐標(biāo)半徑范圍內(nèi)的其他位置 228
9.5 GEORADIUSBYMEMBER:查找指定位置半徑范圍內(nèi)的其他位置 232
示例:查找附近用戶 233
9.6 GEOHASH:獲取指定位置的Geohash值 235
9.7 使用有序集合命令操作GEO數(shù)據(jù) 236
9.8 重點(diǎn)回顧 237
第10章 流 238
10.1 XADD:追加新元素到流的末尾 239
10.2 XTRIM:對(duì)流進(jìn)行修剪 243
10.3 XDEL:移除指定元素 244
10.4 XLEN:獲取流包含的元素?cái)?shù)量 244
10.5 XRANGE、XREVRANGE:訪問(wèn)流中元素 245
10.6 XREAD:以阻塞或非阻塞方式獲取流元素 251
示例:消息隊(duì)列 258
10.7 消費(fèi)者組 260
10.8 XGROUP:管理消費(fèi)者組 264
10.9 XREADGROUP:讀取消費(fèi)者組中的消息 268
10.10 XPENDING:顯示待處理消息的相關(guān)信息 270
10.11 XACK:將消息標(biāo)記為“已處理” 271
10.12 XCLAIM:轉(zhuǎn)移消息的歸屬權(quán) 272
10.13 XINFO:查看流和消費(fèi)者組的相關(guān)信息 273
示例:為消息隊(duì)列提供消費(fèi)者組功能 275
10.14 重點(diǎn)回顧 277
第二部分 附加功能
第11章 數(shù)據(jù)庫(kù) 280
第12章 自動(dòng)過(guò)期 313
第13章 流水線與事務(wù) 329
第14章 Lua腳本 348
第15章 持久化 380
第16章 發(fā)布與訂閱 400
第17章 模塊 412
第三部分 多機(jī)功能
第18章 復(fù)制 444
第19章 Sentinel 460
第20章 集群 481