關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
虛擬化高性能NoSQL存儲(chǔ)案例精粹 Redis+Docker
《虛擬化高性能NoSQL存儲(chǔ)案例精粹——Redis+Docker》主要介紹虛擬化平臺(tái)Docker結(jié)合NoSQL、Redis開(kāi)發(fā)的相關(guān)知識(shí)點(diǎn)。本書(shū)使用大量篇幅著重介紹Redis中的五大數(shù)據(jù)類型的使用方法,包括String、Hash、List、Set和Sorted Set,還介紹了使用Redis實(shí)現(xiàn)高可用的哨兵、復(fù)制、集群、高性能數(shù)據(jù)導(dǎo)入的流水線,以及保障數(shù)據(jù)操作原子性的事務(wù)。另外,本書(shū)對(duì)Redis中的數(shù)據(jù)持久化方案AOF和RDB也進(jìn)行了詳細(xì)介紹,并對(duì)HyperLogLog、GEO和Pub/Sub的相關(guān)知識(shí)進(jìn)行了總結(jié),結(jié)合實(shí)戰(zhàn)經(jīng)驗(yàn)豐富了與內(nèi)存淘汰策略相關(guān)的內(nèi)容。虛擬化技術(shù)使用Docker實(shí)現(xiàn),包括Docker環(huán)境的搭建、常見(jiàn)命令的使用、對(duì)鏡像和容器的操作,以及常見(jiàn)技術(shù)的容器的創(chuàng)建。
《虛擬化高性能NoSQL存儲(chǔ)案例精粹——Redis+Docker》適合所有使用Redis進(jìn)行編程的開(kāi)發(fā)人員、服務(wù)器和數(shù)據(jù)存儲(chǔ)系統(tǒng)開(kāi)發(fā)人員、分布式系統(tǒng)架構(gòu)師等互聯(lián)網(wǎng)技術(shù)程序員閱讀。
1.Redis技術(shù)是現(xiàn)在最火的NoSQL數(shù)據(jù)庫(kù);
2.由于Java程序員眾多,只要用Java寫(xiě)程序的程序員,操作Redis一定會(huì)用到Jedis框架,Jedis框架也是Redis最簡(jiǎn)單,上手最快的Redis Java Client,學(xué)習(xí)成本非常低;
3.本書(shū)理論聯(lián)系實(shí)際,全面而系統(tǒng),學(xué)習(xí)后開(kāi)發(fā)者可開(kāi)發(fā)出能夠兼顧服務(wù)器的可靠性、容錯(cuò)性,又滿足實(shí)時(shí)性需求的系統(tǒng),從而將數(shù)據(jù)處理融入現(xiàn)有或新開(kāi)發(fā)的系統(tǒng)當(dāng)中,滿足企業(yè)日益增長(zhǎng)的海量數(shù)據(jù)實(shí)時(shí)處理和存儲(chǔ)的需求;
4.提供源代碼。
高洪巖,某世界500強(qiáng)企業(yè)高級(jí)項(xiàng)目經(jīng)理,10余年項(xiàng)目管理與開(kāi)發(fā)經(jīng)驗(yàn),對(duì)多線程和并發(fā),Android移動(dòng)開(kāi)發(fā),智能報(bào)表,分布式處理等企業(yè)級(jí)架構(gòu)技術(shù)深耕多年,深諳Java技術(shù)開(kāi)發(fā)難點(diǎn)與要點(diǎn),擁有良好的技術(shù)素養(yǎng)和豐富的實(shí)踐經(jīng)驗(yàn),一直在持續(xù)關(guān)注架構(gòu)的優(yōu)化和重構(gòu)領(lǐng)域,喜歡技術(shù)與教育相結(jié)合的方式共享知識(shí),以共同提高,生活中喜歡攝影,對(duì)旅游,航模興趣濃厚。著有《Java多線程編程核心技術(shù)》《Java并發(fā)編程:核心方法與框架》《Java EE核心框架實(shí)戰(zhàn) 第2版》《NIO與Socket編程技術(shù)指南》等圖書(shū)。
第 1章 搭建Redis開(kāi)發(fā)環(huán)境 1
1.1 什么是NoSQL 1
1.2 為什么使用NoSQL 1
1.3 NoSQL的優(yōu)勢(shì) 2
1.4 NoSQL的劣勢(shì) 2
1.5 Redis介紹及使用場(chǎng)景 3
1.6 Redis沒(méi)有Windows版本 4
1.7 搭建Linux環(huán)境 4
1.7.1 下載并安裝VirtualBox 4
1.7.2 安裝Ubuntu 5
1.7.3 重置root密碼 8
1.7.4 配置阿里云下載源 8
1.7.5 安裝Vim文本編輯器 9
1.7.6 設(shè)置雙向復(fù)制粘貼和安裝增強(qiáng)功能 10
1.7.7 安裝ifconfig命令 13
1.8 搭建Redis環(huán)境 13
1.8.1 下載Redis 13
1.8.2 在Ubuntu中搭建Redis環(huán)境 13
1.8.3 在CentOS中搭建Redis環(huán)境 17
1.9 啟動(dòng)Redis服務(wù) 19
1.9.1 redis-server 19
1.9.2 redis-server redis.conf 20
1.9.3 redis-server & 20
1.10 停止服務(wù) 20
1.11 測(cè)試Redis服務(wù)性能 21
1.12 更改Redis服務(wù)端口號(hào) 22
1.12.1 在命令行中指定 22
1.12.2 在redis.conf配置文件中指定 22
1.13 對(duì)Redis設(shè)置密碼 23
1.14 連接遠(yuǎn)程Redis服務(wù)器 24
1.15 使用set和get命令存取值與中文的處理 24
1.16 設(shè)置key名稱的建議 25
1.17 使用Redis Desktop Manager圖形界面工具管理Redis 26
1.18 在Java中操作Redis 27
1.19 使用--bigkeys參數(shù)找到大key 28
1.20 在redis.conf配置文件中使用include導(dǎo)入其他配置文件 29
第 2章 Connection類型命令 30
2.1 auth命令 30
2.1.1 測(cè)試案例 30
2.1.2 程序演示 32
2.2 echo命令 32
2.2.1 測(cè)試案例 32
2.2.2 程序演示 33
2.3 ping命令 33
2.3.1 測(cè)試案例 34
2.3.2 程序演示 34
2.4 quit命令 35
2.4.1 測(cè)試案例 35
2.4.2 程序演示 35
2.5 select命令 36
2.5.1 測(cè)試案例 37
2.5.2 程序演示 37
2.6 swapdb命令 38
2.6.1 測(cè)試案例 38
2.6.2 程序演示 38
2.7 驗(yàn)證Pool類中的連接屬于長(zhǎng)連接 39
2.8 增加Redis最大連接數(shù) 40
第3章 String類型命令 42
3.1 append命令 42
3.1.1 測(cè)試案例 42
3.1.2 程序演示 43
3.2 incr命令 43
3.2.1 測(cè)試案例 43
3.2.2 程序演示 44
3.3 incrby命令 44
3.3.1 測(cè)試案例 45
3.3.2 程序演示 45
3.4 incrbyfloat命令 45
3.4.1 測(cè)試案例 46
3.4.2 程序演示 47
3.5 decr命令 48
3.5.1 測(cè)試案例 48
3.5.2 程序演示 48
3.6 decrby命令 49
3.6.1 測(cè)試案例 49
3.6.2 程序演示 49
3.7 set和get命令 50
3.7.1 不存在key和存在key發(fā)生值覆蓋的情況 51
3.7.2 使用ex實(shí)現(xiàn)指定時(shí)間(秒)后執(zhí)行命令 51
3.7.3 使用px實(shí)現(xiàn)指定時(shí)間(毫秒)后執(zhí)行命令 52
3.7.4 使用nx當(dāng)key不存在時(shí)才賦值 53
3.7.5 使用xx當(dāng)key存在時(shí)才賦值 54
3.7.6 set命令具有刪除TTL的效果 55
3.8 strlen命令 56
3.8.1 測(cè)試案例 57
3.8.2 程序演示 57
3.9 setrange命令 57
3.9.1 測(cè)試案例 58
3.9.2 程序演示 59
3.10 getrange命令 59
3.10.1 測(cè)試案例 60
3.10.2 程序演示 60
3.11 setbit和getbit命令 60
3.11.1 測(cè)試案例 61
3.11.2 程序演示 62
3.12 bitcount命令 63
3.12.1 測(cè)試案例 63
3.12.2 程序演示 64
3.13 bitop命令 64
3.13.1 and操作 65
3.13.2 or操作 66
3.13.3 xor操作 68
3.13.4 not操作 69
3.14 getset命令 70
3.14.1 測(cè)試案例 70
3.14.2 程序演示 70
3.15 msetnx命令 71
3.15.1 測(cè)試案例 71
3.15.2 程序演示 72
3.16 mset命令 73
3.16.1 測(cè)試案例 73
3.16.2 程序演示 74
3.17 mget命令 74
3.17.1 測(cè)試案例 75
3.17.2 程序演示 75
3.18 bitfield命令 76
3.18.1 set、get、incrby子命令的測(cè)試 76
3.18.2 使用#方便處理“組數(shù)據(jù)” 78
3.18.3 overflow子命令的測(cè)試 80
3.19 bitpos命令 88
3.19.1 測(cè)試案例 89
3.19.2 程序演示 89
3.20 “秒殺”核心算法實(shí)現(xiàn) 90
3.21 使用Redisson框架實(shí)現(xiàn)分布式鎖 92
3.22 處理慢查詢 93
3.22.1 測(cè)試案例 93
3.22.2 程序演示 95
第4章 Hash類型命令 97
4.1 hset和hget命令 97
4.1.1 測(cè)試案例 97
4.1.2 程序演示 98
4.2 hmset和hmget命令 99
4.2.1 測(cè)試案例 99
4.2.2 程序演示 100
4.3 hlen命令 101
4.3.1 測(cè)試案例 101
4.3.2 程序演示 101
4.4 hdel命令 102
4.4.1 測(cè)試案例 102
4.4.2 程序演示 103
4.5 hexists命令 104
4.5.1 測(cè)試案例 104
4.5.2 程序演示 104
4.6 hincrby和hincrbyfloat命令 105
4.6.1 測(cè)試案例 105
4.6.2 程序演示 105
4.7 hgetall命令 106
4.7.1 測(cè)試案例 106
4.7.2 程序演示 107
4.8 hkeys和hvals命令 107
4.8.1 測(cè)試案例 108
4.8.2 程序演示 108
4.9 hsetnx命令 109
4.9.1 測(cè)試案例 110
4.9.2 程序演示 110
4.10 hstrlen命令 110
4.10.1 測(cè)試案例 111
4.10.2 程序演示 111
4.11 hscan命令 111
4.11.1 測(cè)試案例 112
4.11.2 程序演示 113
4.12 使用sort命令對(duì)散列進(jìn)行排序 114
4.12.1 測(cè)試案例 114
4.12.2 程序演示 115
第5章 List類型命令 118
5.1 rpush、llen和lrange命令 118
5.1.1 測(cè)試案例 119
5.1.2 程序演示 119
5.2 rpushx命令 120
5.2.1 測(cè)試案例 120
5.2.2 程序演示 121
5.3 lpush命令 122
5.3.1 測(cè)試案例 122
5.3.2 程序演示 122
5.4 lpushx命令 123
5.4.1 測(cè)試案例 123
5.4.2 程序演示 124
5.5 rpop命令 125
5.5.1 測(cè)試案例 125
5.5.2 程序演示 125
5.6 lpop命令 126
5.6.1 測(cè)試案例 126
5.6.2 程序演示 127
5.7 rpoplpush命令 127
5.7.1 測(cè)試案例 128
5.7.2 程序演示 128
5.8 lrem命令 130
5.8.1 測(cè)試案例 130
5.8.2 程序演示 131
5.9 lset命令 133
5.9.1 測(cè)試案例 133
5.9.2 程序演示 133
5.10 ltrim命令 134
5.10.1 測(cè)試案例 134
5.10.2 程序演示 134
5.11 linsert命令 135
5.11.1 測(cè)試案例 135
5.11.2 程序演示 136
5.12 lindex命令 137
5.12.1 測(cè)試案例 137
5.12.2 程序演示 137
5.13 blpop命令 138
5.13.1 監(jiān)測(cè)一個(gè)key 138
5.13.2 監(jiān)測(cè)多個(gè)key 140
5.13.3 測(cè)試阻塞時(shí)間 142
5.13.4 先來(lái)先得 142
5.14 brpop命令 145
5.15 brpoplpush命令 145
5.15.1 源列表包括元素時(shí)的運(yùn)行效果 145
5.15.2 呈阻塞的效果 147
5.16 使用sort命令對(duì)列表進(jìn)行排序 149
5.16.1 按數(shù)字大小進(jìn)行正/倒排序 149
5.16.2 按ASCII值進(jìn)行正/倒排序 151
5.16.3 實(shí)現(xiàn)分頁(yè) 153
5.16.4 通過(guò)外部key對(duì)應(yīng)value的大小關(guān)系排序 154
5.16.5 通過(guò)外部key排序列表并顯示value 156
5.16.6 將排序結(jié)果存儲(chǔ)到其他的key 160
5.16.7 跳過(guò)排序 162
5.17 List類型命令的常見(jiàn)使用模式 165
第6章 Set類型命令 166
6.1 sadd、smembers和scard命令 166
6.1.1 測(cè)試案例 166
6.1.2 程序演示 167
6.2 sdiff和sdiffstore命令 168
6.2.1 測(cè)試案例 168
6.2.2 程序演示 169
6.3 sinter和sinterstore命令 170
6.3.1 測(cè)試案例 170
6.3.2 程序演示 171
6.4 sismember命令 172
6.4.1 測(cè)試案例 172
6.4.2 程序演示 172
6.5 smove命令 173
6.5.1 測(cè)試案例 173
6.5.2 程序演示 174
6.6 srandmember命令 175
6.6.1 測(cè)試案例 175
6.6.2 程序演示 176
6.7 spop命令 178
6.7.1 測(cè)試案例 178
6.7.2 程序演示 179
6.8 srem命令 181
6.8.1 測(cè)試案例 181
6.8.2 程序演示 181
6.9 sunion和sunionstore命令 182
6.9.1 測(cè)試案例 182
6.9.2 程序演示 183
6.10 sscan命令 184
6.10.1 測(cè)試案例 184
6.10.2 程序演示 185
第7章 Sorted Set類型命令 189
7.1 zadd、zrange和zrevrange命令 189
7.1.1 添加元素并返回指定索引范圍的元素 190
7.1.2 更新score導(dǎo)致重排序并返回新添加元素的個(gè)數(shù) 192
7.1.3 使用ch參數(shù) 193
7.1.4 一起返回元素和score 196
7.1.5 score可以是雙精度浮點(diǎn)數(shù) 198
7.1.6 使用XX參數(shù) 199
7.1.7 使用NX參數(shù) 201
7.1.8 使用incr參數(shù) 203
7.1.9 測(cè)試字典排序 203
7.1.10 倒序顯示 204
7.2 zcard命令 206
7.2.1 測(cè)試案例 206
7.2.2 程序演示 206
7.3 zcount命令 207
7.3.1 測(cè)試案例 207
7.3.2 程序演示 208
7.4 zincrby命令 209
7.4.1 測(cè)試案例 209
7.4.2 程序演示 209
7.5 zunionstore命令 210
7.5.1 測(cè)試合并的效果 211
7.5.2 參數(shù)weights的使用 212
7.5.3 參數(shù)aggregate的使用 214
7.6 zinterstore命令 217
7.6.1 測(cè)試交集的效果 217
7.6.2 參數(shù)weights的使用 219
7.6.3 參數(shù)aggregate的使用 221
7.7 zrangebylex、zrevrangebylex和zremrangebylex命令 223
7.7.1 測(cè)試“ ”和“+”參數(shù) 225
7.7.2 測(cè)試以“[”開(kāi)始的參數(shù)1 227
7.7.3 測(cè)試以“[”開(kāi)始的參數(shù)2 229
7.7.4 測(cè)試以“[”開(kāi)始的參數(shù)3 230
7.7.5 測(cè)試limit分頁(yè) 231
7.7.6 測(cè)試以“(”開(kāi)始的參數(shù)1 233
7.7.7 測(cè)試以“(”開(kāi)始的參數(shù)2 235
7.7.8 使用zrevrangebylex命令實(shí)現(xiàn)倒序查詢 236
7.7.9 使用zremrangebylex命令刪除元素 238
7.8 zlexcount命令 239
7.8.1 測(cè)試案例 239
7.8.2 程序演示 239
7.9 zrangebyscore、zrevrangebyscore和zremrangebyscore命令 241
7.9.1 測(cè)試案例 241
7.9.2 程序演示 242
7.10 zpopmax和zpopmin命令 245
7.10.1 測(cè)試案例 246
7.10.2 程序演示 247
7.11 bzpopmax和bzpopmin命令 249
7.12 zrank、zrevrank和zremrangebyrank命令 249
7.12.1 測(cè)試案例 249
7.12.2 程序演示 250
7.13 zrem命令 252
7.13.1 測(cè)試案例 252
7.13.2 程序演示 252
7.14 zscore命令 253
7.14.1 測(cè)試案例 253
7.14.2 程序演示 253
7.15 zscan命令 254
7.15.1 測(cè)試案例 254
7.15.2 程序演示 255
7.16 sort命令 256
7.16.1 測(cè)試案例 256
7.16.2 程序演示 257
第8章 Key類型命令 259
8.1 del和exists命令 259
8.1.1 測(cè)試案例 259
8.1.2 程序演示 260
8.2 unlink命令 261
8.2.1 測(cè)試案例 261
8.2.2 程序演示 262
8.3 rename命令 263
8.3.1 測(cè)試案例 263
8.3.2 程序演示 264
8.4 renamenx命令 265
8.4.1 測(cè)試案例 265
8.4.2 程序演示 265
8.5 keys命令 267
8.5.1 測(cè)試搜索模式: 268
8.5.2 測(cè)試搜索模式:* 269
8.5.3 測(cè)試搜索模式:[] 270
8.5.4 測(cè)試搜索模式:[^] 272
8.5.5 測(cè)試搜索模式:[a-b] 273
8.6 type命令 274
8.6.1 測(cè)試案例 274
8.6.2 程序演示 275
8.7 randomkey命令 275
8.7.1 測(cè)試案例 275
8.7.2 程序演示 276
8.8 dump和restore命令 277
8.8.1 測(cè)試序列化和反序列化 278
8.8.2 測(cè)試restore命令的replace參數(shù) 279
8.8.3 更改序列化值造成數(shù)據(jù)無(wú)法還原 281
8.9 expire和ttl命令 282
8.9.1 測(cè)試key存在和不存在的ttl命令返回值 283
8.9.2 使用expire和ttl命令 284
8.9.3 rename命令不會(huì)刪除TTL 286
8.9.4 del、set、getset和*store命令會(huì)刪除TTL 287
8.9.5 改變value不會(huì)刪除TTL 288
8.9.6 expire命令會(huì)重新設(shè)置新的TTL 290
8.10 pexpire和pttl命令 291
8.10.1 測(cè)試案例 292
8.10.2 程序演示 292
8.11 expireat命令 293
8.11.1 測(cè)試案例 294
8.11.2 程序演示 295
8.12 pexpireat命令 296
8.12.1 測(cè)試案例 296
8.12.2 程序演示 297
8.13 persist命令 298
8.13.1 測(cè)試案例 299
8.13.2 程序演示 299
8.14 move命令 300
8.14.1 測(cè)試案例 300
8.14.2 程序演示 301
8.15 object命令 302
8.15.1 object refcount key命令的使用 303
8.15.2 object encoding key命令的使用 305
8.15.3 object idletime key命令的使用 306
8.15.4 object freq key命令的使用 308
8.15.5 object help命令的使用 309
8.16 migrate命令 309
8.16.1 測(cè)試案例 310
8.16.2 程序演示 311
8.17 scan命令 312
8.17.1 測(cè)試案例 313
8.17.2 程序演示 314
8.18 touch命令 315
8.18.1 測(cè)試案例 315
8.18.2 程序演示 316
第9章 HyperLogLog、Bloom Filter類型命令及Redis-Cell模塊 318
9.1 HyperLogLog類型命令 318
9.1.1 pfadd和pfcount命令 318
9.1.2 pfmerge命令 320
9.1.3 測(cè)試誤差 321
9.2 Bloom Filter類型命令 322
9.2.1 在Redis中安裝RedisBloom模塊 322
9.2.2 bf.reserve、bf.add和bf.info命令 324
9.2.3 bf.madd命令 328
9.2.4 bf.insert命令 330
9.2.5 bf.exists命令 332
9.2.6 bf.mexists命令 333
9.2.7 驗(yàn)證布隆過(guò)濾器有誤判 334
9.3 使用Redis-Cell模塊實(shí)現(xiàn)限流 335
9.3.1 在Redis中安裝Redis-Cell模塊 335
9.3.2 測(cè)試案例 336
9.3.3 程序演示 338
第 10章 GEO類型命令 340
10.1 geoadd和geopos命令 340
10.1.1 測(cè)試案例 340
10.1.2 程序演示 341
10.2 geodist命令 342
10.2.1 測(cè)試案例 342
10.2.2 程序演示 343
10.3 geohash命令 343
10.3.1 測(cè)試案例 343
10.3.2 程序演示 344
10.4 georadius命令 345
10.4.1 測(cè)試距離單位m、km、ft、mi 345
10.4.2 測(cè)試withcoord、withdist、withhash 346
10.4.3 測(cè)試asc、desc 348
10.4.4 測(cè)試count 349
10.4.5 測(cè)試store和storedist 350
10.5 georadiusbymember命令 351
10.5.1 測(cè)試距離單位m、km、ft和mi 351
10.5.2 測(cè)試withcoord、withdist和withhash 352
10.5.3 測(cè)試asc和desc 353
10.5.4 測(cè)試count 355
10.5.5 測(cè)試store和storedist 356
10.6 刪除GEO數(shù)據(jù)類型中的元素 357
10.6.1 測(cè)試案例 357
10.6.2 程序演示 357
第 11章 Pub/Sub類型命令 359
11.1 publish和subscribe命令 360
11.1.1 測(cè)試案例 360
11.1.2 程序演示 361
11.2 unsubscribe命令 364
11.2.1 測(cè)試案例 364
11.2.2 程序演示 364
11.3 psubscribe命令 366
11.3.1 模式 的使用 366
11.3.2 模式*的使用 369
11.3.3 模式[xy]的使用 372
11.4 punsubscribe命令 374
11.4.1 測(cè)試案例 374
11.4.2 程序演示 374
11.5 pubsub命令 376
11.5.1 pubsub channels [pattern] 子命令 376
11.5.2 pubsub numsub [channel 1…channel N] 子命令 378
11.5.3 pubsub numpat子命令 381
第 12章 Stream類型命令 384
12.1 xadd命令 385
12.1.1 自動(dòng)生成ID 385
12.1.2 自定義ID 389
12.1.3 流存儲(chǔ)的元素具有順序性 392
12.1.4 使用maxlen限制流的絕對(duì)長(zhǎng)度 394
12.1.5 使用maxlen ~ 限制流的近似長(zhǎng)度 396
12.2 xlen命令 398
12.2.1 測(cè)試案例 398
12.2.2 程序演示 398
12.3 xdel命令 399
12.3.1 基本使用方法 399
12.3.2 添加操作的成功條件 400
12.4 xrange命令 402
12.4.1 使用 和+取得全部元素 403
12.4.2 自動(dòng)補(bǔ)全特性 404
12.4.3 使用count限制返回元素的個(gè)數(shù) 407
12.4.4 迭代/分頁(yè)流 408
12.4.5 取得單一元素 410
12.5 xrevrange命令 411
12.5.1 使用+和 取得全部元素 412
12.5.2 迭代/分頁(yè)流 413
12.6 xtrim命令 416
12.6.1 測(cè)試案例 416
12.6.2 程序演示 416
12.7 xread命令 417
12.7.1 實(shí)現(xiàn)元素讀取 418
12.7.2 從多個(gè)流中讀取元素 421
12.7.3 實(shí)現(xiàn)count 425
12.7.4 測(cè)試count 427
12.7.5 實(shí)現(xiàn)阻塞消息讀取并結(jié)合 431
12.8 消費(fèi)者組的使用 434
12.8.1 與消費(fèi)者組有關(guān)的命令 436
12.8.2 xgroup create和xinfo groups命令 437
12.8.3 xgroup setid命令 441
12.8.4 xgroup destroy命令 443
12.8.5 xinfo stream命令 445
12.8.6 xreadgroup和xinfo consumers命令 447
12.8.7 在xreadgroup命令中使用>或指定ID值 450
12.8.8 xack和xpending命令 458
12.8.9 xgroup delconsumer命令 467
12.8.10 xreadgroup noack命令 471
12.8.11 xclaim命令 475
第 13章 Pipelining和Transaction類型命令 485
13.1 流水線 485
13.1.1 不使用流水線的運(yùn)行效率 486
13.1.2 使用流水線的運(yùn)行效率 486
13.2 事務(wù) 487
13.2.1 multi和exec命令 487
13.2.2 出現(xiàn)語(yǔ)法錯(cuò)誤導(dǎo)致全部命令取消執(zhí)行 489
13.2.3 出現(xiàn)運(yùn)行錯(cuò)誤導(dǎo)致錯(cuò)誤命令取消執(zhí)行 490
13.2.4 discard命令 492
13.2.5 watch命令 493
13.2.6 unwatch命令 495
第 14章 數(shù)據(jù)持久化 499
14.1 使用RDB實(shí)現(xiàn)數(shù)據(jù)持久化 499
14.1.1 自動(dòng)方式:save配置選項(xiàng) 499
14.1.2 手動(dòng)方式:使用save命令 503
14.1.3 手動(dòng)方式:使用bgsave命令 505
14.1.4 小結(jié) 506
14.2 使用AOF實(shí)現(xiàn)數(shù)據(jù)持久化 506
14.2.1 實(shí)現(xiàn)AOF持久化的功能 506
14.2.2 重寫(xiě)機(jī)制 508
14.2.3 小結(jié) 510
14.3 使用RDB和AOF混合實(shí)現(xiàn)數(shù)據(jù)持久化 510
14.4 使用shutdown命令正確停止Redis服務(wù) 511
第 15章 復(fù)制 512
15.1 實(shí)現(xiàn)復(fù)制 513
15.1.1 在redis.conf配置文件中加入replicaof {masterHost} {masterPort}配置 513
15.1.2 對(duì)redis-server命令傳入--replicaof {masterHost} {masterPort}參數(shù) 516
15.1.3 在副本節(jié)點(diǎn)中使用命令replicaof {masterHost} {masterPort} 517
15.1.4 使用role命令獲得服務(wù)器角色信息 518
15.2 取消復(fù)制 519
15.3 手動(dòng)操作實(shí)現(xiàn)故障轉(zhuǎn)移 520
第 16章 哨兵 521
16.1 搭建哨兵環(huán)境 522
16.1.1 創(chuàng)建配置文件 522
16.1.2 搭建Master服務(wù)器環(huán)境 523
16.1.3 搭建Replica服務(wù)器環(huán)境 523
16.1.4 使用info replication命令查看Master-Replica運(yùn)行狀態(tài) 523
16.1.5 搭建哨兵環(huán)境 525
16.1.6 配置的解釋 526
16.1.7 創(chuàng)建哨兵容器 527
16.1.8 使用info sentinel命令查看哨兵運(yùn)行狀態(tài) 527
16.1.9 使用sentinel reset mymaster命令重置哨兵環(huán)境 528
16.2 監(jiān)視多個(gè)Master服務(wù)器 528
16.3 哨兵常用命令 529
16.4 實(shí)現(xiàn)故障轉(zhuǎn)移 530
16.5 強(qiáng)制實(shí)現(xiàn)故障轉(zhuǎn)移 532
16.6 案例 534
第 17章 集群 536
17.1 使用虛擬槽實(shí)現(xiàn)數(shù)據(jù)分片 537
17.2 自動(dòng)搭建本地Redis集群環(huán)境 538
17.2.1 使用create-cluster start命令啟動(dòng)Redis集群實(shí)例 539
17.2.2 使用create-cluster stop命令停止Redis集群實(shí)例 539
17.2.3 使用create-cluster create命令創(chuàng)建Redis集群 540
17.2.4 使用create-cluster watch命令顯示第 一個(gè)服務(wù)器的前30行輸出信息 541
17.2.5 使用create-cluster tail命令查看指定服務(wù)器的日志信息 542
17.2.6 在Redis集群中添加與取得數(shù)據(jù) 542
17.2.7 使用create-cluster clean命令刪除所有實(shí)例數(shù)據(jù)、日志和配置文件 543
17.2.8 使用create-cluster clean-logs命令只刪除實(shí)例日志文件 544
17.3 重定向操作 544
17.4 使用readonly和readwrite命令啟用和禁用Replica服務(wù)器可讀 545
17.5 手動(dòng)搭建分布式Redis集群環(huán)境 546
17.5.1 準(zhǔn)備配置文件并啟動(dòng)各服務(wù)器 546
17.5.2 使用cluster meet命令實(shí)現(xiàn)服務(wù)器間握手 547
17.5.3 使用cluster nodes命令查看Redis集群中的服務(wù)器信息 549
17.5.4 使用cluster addslots命令分配槽 549
17.5.5 使用cluster reset命令重置服務(wù)器狀態(tài) 550
17.5.6 向Redis集群中保存和獲取數(shù)據(jù) 551
17.5.7 在Redis集群中添加Replica服務(wù)器 551
17.6 使用cluster myid命令獲得當(dāng)前服務(wù)器ID 553
17.7 使用cluster replicas命令查看指定Master服務(wù)器下的Replica服務(wù)器信息 554
17.8 使用cluster slots命令查看槽與服務(wù)器關(guān)聯(lián)的信息 554
17.9 使用cluster keyslot命令查看key所屬槽 554
17.10 案例 555
第 18章 內(nèi)存淘汰策略 556
18.1 內(nèi)存淘汰策略簡(jiǎn)介 556
18.2 內(nèi)存淘汰策略:noeviction 556
18.3 內(nèi)存淘汰策略:volatile-lru 557
18.4 內(nèi)存淘汰策略:volatile-lfu 559
18.5 內(nèi)存淘汰策略:volatile-random 559
18.6 使用淘汰策略:volatile-ttl 560
18.7 使用淘汰策略:allkeys-lru 562
18.8 內(nèi)存淘汰策略:allkeys-lfu 564
18.9 使用淘汰策略:allkeys-random 564
第 19章 使用Docker實(shí)現(xiàn)容器化 565
19.1 容器 565
19.2 使用Docker的經(jīng)典場(chǎng)景 566
19.3 Docker的介紹 568
19.4 Docker鏡像的介紹 569
19.5 Docker由4部分組成 569
19.6 Docker具有跨平臺(tái)特性 570
19.7 Docker的優(yōu)點(diǎn) 570
19.8 moby和docker-ce與docker-ee之間的關(guān)系 570
19.9 在Ubuntu中搭建Docker環(huán)境 571
19.9.1 確認(rèn)有沒(méi)有安裝Docker 571
19.9.2 使用官方的sh腳本安裝Docker 571
19.9.3 確認(rèn)有沒(méi)有成功安裝Docker 571
19.9.4 啟動(dòng)和停止Docker服務(wù)與查看Docker版本 572
19.10 操作Docker服務(wù)與容器 573
19.10.1 使用docker info查看Docker信息 573
19.10.2 根據(jù)Ubuntu基礎(chǔ)鏡像文件創(chuàng)建容器并運(yùn)行容器 574
19.10.3 使用sudo docker ps和sudo docker ps -a命令 580
19.10.4 使用docker logs命令 580
19.10.5 使用sudo docker rename oldName newName命令對(duì)容器重命名 581
19.10.6 使用docker start命令啟動(dòng)容器 581
19.10.7 使用docker attach命令關(guān)聯(lián)容器 583
19.10.8 使用docker exec命令在容器中執(zhí)行命令 584
19.10.9 使用docker restart命令重新啟動(dòng)容器 584
19.10.10 使用docker cp命令復(fù)制文件到容器中 584
19.10.11 解決Docker顯示中文亂碼 585
19.10.12 安裝ifconfig命令 586
19.11 鏡像文件操作 586
19.11.1 使用docker images命令獲得鏡像文件信息 586
19.11.2 鏡像文件的標(biāo)識(shí) 587
19.11.3 Dockerfile與docker build命令介紹 587
19.11.4 為Ubuntu添加快捷菜單創(chuàng)建文件 588
19.11.5 創(chuàng)建最簡(jiǎn)Dockerfile腳本 590
19.11.6 使用docker build命令創(chuàng)建鏡像文件——倉(cāng)庫(kù)名/鏡像文件名 590
19.11.7 使用docker build命令創(chuàng)建鏡像文件——倉(cāng)庫(kù)名/鏡像文件名:標(biāo)記 591
19.11.8 使用docker build命令創(chuàng)建多個(gè)鏡像文件——倉(cāng)庫(kù)名/鏡像文件名:標(biāo)記 591
19.11.9 使用docker rmi命令刪除鏡像文件 592
19.12 容器管理控制臺(tái)portainer 592
19.12.1 使用docker search命令搜索鏡像文件 592
19.12.2 使用docker pull命令拉取鏡像文件 593
19.12.3 創(chuàng)建數(shù)據(jù)卷 593
19.12.4 端口映射與運(yùn)行portainer 594
19.12.5 進(jìn)入portainer查看Docker狀態(tài)信息 594
19.13 Docker組件 596
19.14 網(wǎng)絡(luò)模式:橋接模式 596
19.14.1 測(cè)試橋接模式 597
19.14.2 設(shè)置容器使用固定IP地址 598
19.15 網(wǎng)絡(luò)模式:主機(jī)模式 600
19.16 通過(guò)網(wǎng)絡(luò)別名實(shí)現(xiàn)容器之間通信 600
19.17 常用軟件的Docker鏡像文件與容器 601
19.17.1 創(chuàng)建JDK容器 601
19.17.2 創(chuàng)建Tomcat容器 604
19.17.3 創(chuàng)建MySQL容器 606
19.17.4 創(chuàng)建Redis容器 608
19.17.5 創(chuàng)建ZooKeeper容器 609
19.17.6 創(chuàng)建Oracle 11g容器 610
19.18 啟動(dòng)Docker服務(wù)后容器隨之啟動(dòng)與取消 611
第 20章 Docker中搭建Redis高可用環(huán)境 612
20.1 復(fù)制 612
20.1.1 在redis.conf配置文件中加入replicaof {masterHost} {masterPort}配置 612
20.1.2 對(duì)redis-server命令傳入--replicaof {masterHost} {masterPort}參數(shù) 614
20.1.3 在Replica服務(wù)器使用replicaof {masterHost} {masterPort}命令 615
20.2 哨兵 616
20.2.1 搭建哨兵環(huán)境 616
20.2.2 創(chuàng)建配置文件 616
20.2.3 搭建Master服務(wù)器環(huán)境 616
20.2.4 搭建Replica環(huán)境 617
20.2.5 使用info replication命令查看Master-Replica運(yùn)行狀態(tài) 618
20.2.6 搭建哨兵環(huán)境 619
20.2.7 創(chuàng)建哨兵容器 620
20.2.8 使用info sentinel命令查看哨兵運(yùn)行狀態(tài) 621
20.2.9 使用sentinel reset mymaster命令重置哨兵環(huán)境 621
20.3 集群 621
20.3.1 準(zhǔn)備配置文件并啟動(dòng)各服務(wù)器 621
20.3.2 使用cluster meet命令實(shí)現(xiàn)服務(wù)器間握手 623
20.3.3 使用cluster nodes命令查看Redis集群中的服務(wù)器信息 623
20.3.4 使用cluster addslots命令分配槽 624
20.3.5 向Redis集群中保存和獲取數(shù)據(jù) 625
20.3.6 在Redis集群中添加Replics服務(wù)器 626
第 21章 Docker中實(shí)現(xiàn)數(shù)據(jù)持久化 628
21.1 使用RDB實(shí)現(xiàn)數(shù)據(jù)持久化 628
21.1.1 自動(dòng)方式:save配置選項(xiàng) 628
21.1.2 手動(dòng)方式:使用save命令 630
21.1.3 手動(dòng)方式:使用bgsave命令 630
21.2 使用AOF實(shí)現(xiàn)數(shù)據(jù)持久化 631
21.3 使用RDB和AOF混合實(shí)現(xiàn)數(shù)據(jù)持久化 632
第 22章 ACL類型命令 634
22.1 acl list命令 634
22.1.1 測(cè)試案例 634
22.1.2 程序演示 635
22.2 為默認(rèn)用戶設(shè)置密碼并查看ACL信息 635
22.3 acl save和acl load命令 636
22.3.1 測(cè)試案例 636
22.3.2 程序演示 637
22.4 acl users命令 637
22.4.1 測(cè)試案例 638
22.4.2 程序演示 638
22.5 acl getuser命令 638
22.5.1 測(cè)試案例 638
22.5.2 程序演示 639
22.6 acl deluser命令 640
22.6.1 測(cè)試案例 640
22.6.2 程序演示 640
22.7 acl cat命令 641
22.7.1 測(cè)試案例 642
22.7.2 程序演示 642
22.8 acl cat
你還可能感興趣
我要評(píng)論
|