基於Docker的Redis入門與實戰
內容描述
本書圍繞高並發大數據的項目需求,
全面講述分佈式緩存組件Redis的基本語法、核心技術和具體應用。
本書分為13章,
第1~7章主要介紹Redis入門知識、Redis基本數據類型、Redis常用命令、Redis服務器和客戶端實踐技巧、
Redis數據庫操作技巧、Redis AOF和RDB持久化操作技巧、Redis集群的搭建方式,
第8~11章主要介紹Redis同MySQL和MyCAT集群的整合技巧、Redis同lua的整合技巧等,
第12和13章主要介紹Redis、Spring Boot和Spring Cloud如何構建微服務應用。
如果你想快速了解企業級Redis的實戰技能,那麼本書是不錯的選擇。
本書還附帶相關代碼和視頻,視頻裡包含所有案例的配置和運行方式,建議大家在觀看視頻、
運行代碼的基礎上閱讀本書,以便快速上手Redis,並在項目中用Redis解決實際問題。
目錄大綱
前言
第1章 構建Redis開發環境 1
1.1 Redis概述 1
1.1.1 對比傳統數據庫與NoSQL數據庫 1
1.1.2 Redis的特點 2
1.1.3 Redis更適合以分佈式集群的方式提供服務 2
1.2 了解必要的Docker技能 3
1.2.1 Docker容器、鏡像和倉庫 3
1.2.2 在Windows上安裝Docker 3
1.2.3 Docker鏡像相關的命令 4
1.2.4 Docker容器相關的命令 4
1.3 安裝和配置基於Docker的Redis環境 5
1.3.1 用docker pull下載最新Redis鏡像 5
1.3.2 用docker run啟動Redis容器 5
1.3.3 用docker logs觀察Redis啟動效果 6
1.3.4 通過docker exec進入Redis容器 6
1.3.5 停止、重啟和刪除Redis容器 7
1.3.6 查看Redis的版本 8
1.3.7 Redis服務器和客戶端 8
1.3.8 總結容器和Redis的相關命令 9
1.4 本章小結 10
第2章 實踐Redis的基本數據類型 11
2.1 Redis緩存初體驗 11
2.1.1 用redis-cli啟動客戶端並緩存數據 11
2.1.2 設置數據的生存時間 12
2.2 針對字符串的命令 13
2.2.1 讀寫字符串的set和get命令 13
2.2.2 設置和獲取多個字符串的命令 14
2.2.3 對值進行增量和減量操作 15
2.2.4 通過getset命令設置新值 16
2.2.5 針對字符串的其他操作 17
2.3 針對哈希類型變量的命令 17
2.3.1 設置並獲取哈希值 18
2.3.2 hsetnx命令 19
2.3.3 針對key的相關操作 19
2.3.4 用hexists命令判斷值是否存在 20
2.3.5 對哈希類型數據的刪除操作 21
2.4 針對列表類型變量的命令 21
2.4.1 讀寫列表的命令 21
2.4.2 lpushx和rpushx命令 23
2.4.3 用list模擬堆棧和隊列 24
2.4.4 用lrange命令獲取指定區間內的數據 25
2.4.5 用lset命令修改列表數據 26
2.4.6 刪除列表數據的命令 26
2.5 針對集合的命令 28
2.5.1 讀寫集合的命令 28
2.5.2 列表和集合類數據的使用場景 29
2.5.3 用sismember命令判斷元素是否存在 29
2.5.4 獲取集合的交集、並集和差集 29
2.5.5 用srem命令刪除集合數據 30
2.6 針對有序集合的命令 31
2.6.1 讀寫有序集合的命令 31
2.6.2 通過zincrby命令修改元素的分值 33
2.6.3 用zscore命令獲取指定元素的分數 33
2.6.4 查看有序集合裡的元素排名 34
2.6.5 刪除有序集合裡的值 35
2.7 本章小結 36
第3章 實踐Redis的常用命令 37
3.1 鍵操作命令 37
3.1.1 用exists命令判斷鍵是否存在 37
3.1.2 用keys命令查找鍵 38
3.1.3 用scan命令查找鍵 38
3.1.4 重命名鍵 39
3.1.5 用del命令刪除鍵 40
3.1.6 關於鍵生存時間的命令 41
3.2 HyperLogLog相關命令 42
3.2.1 用pfadd添加鍵值對 42
3.2.2 用pfcount統計基數值 43
3.2.3 用pfmerge進行合併操作 43
3.2.4 統計網站訪問總人數 44
3.3 lua腳本相關命令 44
3.3.1 把lua腳本裝載到緩存裡 45
3.3.2 通過evalsha命令執行緩存中的腳本 45
3.3.3 清空緩存中lua腳本的命令 45
3.3.4 用eval命令執行lua腳本 46
3.4 排序相關命令 46
3.4.1 用sort命令進行排序 46
3.4.2 用by參數指定排序模式 48
3.4.3 用limit參數返回部分排序結果 48
3.4.4 sort命令裡get參數的用法 49
3.4.5 通過store參數提升性能 50
3.5 本章小結 51
第4章 實踐Redis服務器和客戶端的操作 52
4.1 Redis服務器管理客戶端的命令 52
4.1.1 獲取和設置客戶端的名字 52
4.1.2 通過client list命令查看客戶端的信息 53
4.1.3 通過client pause命令暫停客戶端的命令 53
4.1.4 通過client kill命令中斷客戶端連接 54
4.1.5 通過shutdown命令關閉服務器和客戶端 54
4.2 查看Redis服務器的詳細信息 55
4.2.1 通過info命令查看服務器信息 55
4.2.2 查看客戶端連接狀況 56
4.2.3 觀察最大連接數 56
4.2.4 查看每秒執行多少條指令 56
4.2.5 觀察內存用量 57
作者介紹
金華,上海張江信息技術專修學院副院長,上海市浦東軟件園職業技能培訓中心副主任,上海市人力資源和社會保障局職業技能鑑定中心專家組組長,上海市教育委員會職業教育教學工作診斷與改進專家;長期從事軟件和信息技術專業職業標準、培訓課程、鑑定方案等研發工作;主審中國勞動社會保障出版社出版的《計算機程序設計員(Java)高級》教材,主編上海市經濟和信息化委員會工程師繼續教育《大數據與數據挖掘》《移動互聯網》《大數據可視化技術與應用》等教材。
胡書敏,大連理工大學計算機專業碩士;資深Java架構師,有15年以上從業經驗;精通Java、Python等開發語言,有平安、花旗和IBM等大廠的工作經驗,目前在SAP從事雲端微信小程序開發、數據分析與機器學習開發工作;已出版《Java Web輕量級開發麵試教程》《基於股票大數據分析的Python入門實戰》等圖書。