01 架設Redis 開發環境
1.1 什麼是NoSQL
1.2 為什麼使用NoSQL
1.3 NoSQL 的優勢
1.4 NoSQL 的劣勢
1.5 Redis 介紹及使用場景
1.6 Redis 沒有Windows 版本
1.7 架設Linux 環境
1.8 架設Redis 環境
1.9 啟動Redis 服務
1.10 停止服務
1.11 測試Redis 服務性能
1.12 更改Redis 服務通訊埠編號
1.13 對Redis 設定密碼
1.14 連接遠端Redis 伺服器
1.15 使用set 和get 命令存設定值與中文的處理
1.16 設定key 名稱的建議
1.17 使用Redis Desktop Manager圖形介麵工具管理Redis
1.18 在Java 中操作Redis
1.19 使用--bigkeys 參數找到大key
1.20 在redis.conf 設定檔中使用include 匯入其他設定檔
02 Connection 類型命令
2.1 auth 命令
2.2 echo 命令
2.3 ping 命令
2.4 quit 命令
2.5 select 命令
2.6 swapdb 命令
2.7 驗證Pool 類別中的連接屬於長連接
2.8 增加Redis 最大連接數
03 String 類型命令
3.1 append 命令
3.2 incr 命令
3.3 incrby 命令
3.4 incrbyfloat 命令
3.5 decr 命令
3.6 decrby 命令
3.7 set 和get 命令
3.8 strlen 命令
3.9 setrange 命令
3.10 getrange 命令
3.11 setbit 和getbit 命令
3.12 bitcount 命令
3.13 bitop 命令
3.14 getset 命令
3.15 msetnx 命令
3.16 mset 命令
3.17 mget 命令
3.18 bitfield 命令
3.19 bitpos 命令
3.20 「秒殺」核心演算法實現
3.21 使用Redisson 框架實現分散式鎖
3.22 處理慢查詢
04 Hash 類型命令
4.1 hset 和hget 命令
4.2 hmset 和hmget 命令
4.3 hlen 命令
4.4 hdel 命令
4.5 hexists 命令
4.6 hincrby 和hincrbyfloat命令
4.7 hgetall 命令
4.8 hkeys 和hvals 命令
4.9 hsetnx 命令
4.10 hstrlen 命令
4.11 hscan 命令
4.12 使用sort 命令對雜湊進行排序
05 List 類型命令
5.1 rpush、llen 和lrange 命令
5.2 rpushx 命令
5.3 lpush 命令
5.4 lpushx 命令
5.5 rpop 命令
5.6 lpop 命令
5.7 rpoplpush 命令
5.8 lrem 命令
5.9 lset 命令
5.10 ltrim 命令
5.11 linsert 命令
5.12 lindex 命令
5.13 blpop 命令
5.14 brpop 命令
5.15 brpoplpush 命令
5.16 使用sort 命令對串列進行排序
5.17 List 類型命令的常見使用模式
06 Set 類型命令
6.1 sadd、smembers 和scard命令
6.2 sdiff 和sdiffstore 命令
6.3 sinter 和sinterstore 命令
6.4 sismember 命令
6.5 smove 命令
6.6 srandmember 命令
6.7 spop 命令
6.8 srem 命令
6.9 sunion 和sunionstore 命令
6.10 sscan 命令
07 Sorted Set 類型命令
7.1 zadd、zrange 和zrevrange命令
7.2 zcard 命令
7.3 zcount 命令
7.4 zincrby 命令
7.5 zunionstore 命令
7.6 zinterstore 命令
7.7 zrangebylex、zrevrangebylex和zremrangebylex 命令
7.8 zlexcount 命令
7.9 zrangebyscore、zrevrangebyscore 和zremrangebyscore 命令
7.10 zpopmax 和zpopmin 命令
7.11 bzpopmax 和bzpopmin命令
7.12 zrank、zrevrank 和zremrangebyrank 命令
7.13 zrem 命令
7.14 zscore 命令
7.15 zscan 命令
7.16 sort 命令
08 Key 類型命令
8.1 del 和exists 命令
8.2 unlink 命令
8.3 rename 命令
8.4 renamenx 命令
8.5 keys 命令
8.6 type 命令
8.7 randomkey 命令
8.8 dump 和restore 命令
8.9 expire 和ttl 命令
8.10 pexpire 和pttl 命令
8.11 expireat 命令
8.12 pexpireat 命令
8.13 persist 命令
8.14 move 命令
8.15 object 命令
8.16 migrate 命令
8.17 scan 命令
8.18 touch 命令
09 HyperLogLog、Bloom Filter 類型命令及Redis-Cell 模組
9.1 HyperLogLog 類型命令
9.2 Bloom Filter 類型命令
9.3 使用Redis-Cell 模組實現限流
10 GEO 類型命令
10.1 geoadd 和geopos 命令
10.2 geodist 命令
10.3 geohash 命令
10.4 georadius 命令
10.5 georadiusbymember 命令
10.6 刪除GEO 資料類型中的元素
11 Pub/Sub 類型命令
11.1 publish 和subscribe 命令
11.2 unsubscribe 命令
11.3 psubscribe 命令
11.4 punsubscribe 命令
11.5 pubsub 命令
12 Stream 類型命令
12.1 xadd 命令
12.2 xlen 命令
12.3 xdel 命令
12.4 xrange 命令
12.5 xrevrange 命令
12.6 xtrim 命令
12.7 xread 命令
12.8 消費者組的使用
13 Pipelining 和Transaction 類型命令
13.1 管線
13.2 交易
14 資料持久化
14.1 使用RDB 實現資料持久化
14.2 使用AOF 實現資料持久化
14.3 使用RDB 和AOF 混閤實現資料持久化
14.4 使用shutdown 命令正確停止Redis 服務
15 複製
15.1 實現複製
15.2 取消複製
15.3 手動操作實現容錯移轉
16 哨兵
16.1 架設檢查點環境
16.2 監視多個Master 伺服器
16.3 檢查點常用命令
16.4 實現容錯移轉
16.5 強製實現容錯移轉
16.6 案例
17 叢集
17.1 使用虛擬槽實現資料分片
17.2 自動架設本地Redis 叢集環境
17.3 重新導嚮操作
17.4 使用readonly 和readwrite命令啟用和禁用Replica伺服器讀取
17.5 手動架設分散式Redis 叢集環境
17.6 使用cluster myid 命令獲得當前伺服器ID
17.7 使用cluster replicas 命令查看指定Master 伺服器下的Replica 伺服器資訊
17.8 使用cluster slots 命令查看槽與伺服器連結的資訊
17.9 使用cluster keyslot 命令查看key 所屬槽
17.10 案例
18 記憶體淘汰策略
18.1 記憶體淘汰策略簡介
18.2 記憶體淘汰策略:noeviction
18.3 記憶體淘汰策略:volatile-lru
18.4 記憶體淘汰策略:volatile-lfu
18.5 記憶體淘汰策略:volatile-random
18.6 使用淘汰策略:volatile-ttl
18.7 使用淘汰策略:allkeys-lru
18.8 記憶體淘汰策略:allkeys-lfu
18.9 使用淘汰策略:allkeys-random
19 使用Docker實現容器化
19.1 容器
19.2 使用Docker 的經典場景
19.3 Docker 的介紹
19.4 Docker 映像檔的介紹
19.5 Docker 由4 部分組成
19.6 Docker 具有跨平颱特性
19.7 Docker 的優點
19.8 moby 和docker-ce 與docker-ee 之間的關係
19.9 在Ubuntu 中架設Docker環境
19.10 操作Docker 服務與容器
19.11 映像檔檔案操作
19.12 容器管理主控颱portainer
19.13 Docker 元件
19.14 網路模式:橋接模式
19.15 網路模式:主機模式
19.16 透過網路別名實現容器之間通訊
19.17 常用軟體的Docker 映像檔檔案與容器
19.18 啟動Docker 服務後容器隨之啟動與取消
20 Docker 中架設Redis高可用環境
20.1 複製
20.2 檢查點
20.3 叢集
21 Docker 中實現資料持久化
21.1 使用RDB 實現資料持久化
21.2 使用AOF 實現資料持久化
21.3 使用RDB 和AOF 混閤實現資料持久化
22 ACL 類型命令
22.1 acl list 命令
22.2 為預設使用者設定密碼並查看ACL 資訊
22.3 acl save 和acl load 命令
22.4 acl users 命令
22.5 acl getuser 命令
22.6 acl deluser 命令
22.7 acl cat 命令
22.8 acl cat
命令
22.9 acl genpass 命令
22.10 acl whoami 命令
22.11 acl log 命令
22.12 驗證使用setuser 命令創建的使用者預設無任何許可權
22.13 使用setuser on/off 啟用或禁用使用者
22.14 使用+ 和– 為使用者設定執行命令的許可權
22.15 使用+@ 為使用者設定能執行指定命令類型的許可權
22.16 使用- @ 為使用者設定能執行指定命令類型的許可權
22.17 使用+ | 為使用者增加能執行的子命令許可權
22.18 使用+@all 和- @all 為使用者增加或刪除全部命令的執行許可權
22.19 使用~pattern 限製能存取key 的模式
22.20 使用resetkeys 清除所有key的存取模式
22.21 使用> 和< 為使用者設定或刪除純文字密碼
22.22 使用# 和! 為使用者設定或刪除SHA-256 密碼
22.23 使用nopass 和resetpass 為使用者設定無密碼或清除所有密碼
22.24 使用reset 命令重置使用者ACL 資訊