-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
防疫期間 門市僅限取書, 不開放參觀
並提早到6點打烊, 星期日公休
8/3 新書到! 7/27 新書到! 7/20 新書到! 7/14 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

從零開始學Redis

( 簡體 字)
作者:高洪濤,劉河飛類別:1. -> 資料庫 -> Redis
譯者:
出版社:電子工業出版社從零開始學Redis 3dWoo書號: 51080
詢問書籍請說出此書號!

有庫存
NT定價: 445
折扣價: 418

出版日:4/1/2019
頁數:396
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121363115
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

2016年10月,在工作的過程中我偶然接觸到Redis,便開始自學,從學習Redis的安裝,到熟悉它的數據類型及相關命令,再到它的實際應用。在企業工作的這段時間里,我也時常用到Redis做緩存系統,實現高并發的存儲與讀/寫,以及Redis相關的高級功能,覺得非常實用。經過不斷整理與總結,2018年我決定寫本書,與諸位愛好Redis并能實際應用Redis的讀者進行分享。
有所得,必有所失。通常我白天正常上班,晚上或周末開始撰寫本書。感謝堅持不懈的自己,多少個日夜的堅持,才換來本書的完稿。在得到的同時,我也失去了許多。為了完成本書的編寫,我放棄了大量的休息時間,也很少鍛煉身體,以致常常生病,同時變成了一個“宅男”,缺少了與人交流溝通的機會。一句話總結就是:沉迷寫書,日漸消瘦。
在寫作本書的過程中,我深刻地體會到:做事之所以會半途而廢,往往不是因為難度較大,而是因為覺得成功離我們較遠。確切地說,我們不是因為失敗而放棄,而是因為倦怠而失敗。在人生的旅途中,我們多思考一下,多堅持一下,同時也多鼓勵一下自己,一生中也許會少許多懊悔與惋惜,我們離成功也就會越來越近。在此,我希望閱讀本書的讀者堅持學習,不斷進步。累了,就休息一下,但是不要懈怠;迷茫了,就調整一下自己努力的方向,但是不要放棄努力。既然選擇了,就要堅持下去,相信未來的自己一定會感謝現在努力的自己。
夜已深,茶已涼,就不再多敘,望諸君謹記:學雖易,學好難,且學且珍惜。
到目前為止,Redis還在不斷更新,用戶量也在不斷擴大,這也足以說明Redis的強大之處。希望諸君學習愉快,技術更上一層樓。
本書內容簡介
全書分3部分。
第一部分(第1∼5章)為Redis初始篇,首先介紹了對NoSQL的認識,然后介紹了Redis環境的搭建與啟動,以及它的相關客戶端,最后介紹了Redis的數據類型命令、必備命令及Redis數據庫的相關知識。
第二部分(第6∼13章)為Redis進階篇,首先講解了Redis客戶端與服務器的相關屬性與函數,然后結合Redis的底層源碼深入講解了Redis的底層實現和相關的API函數,最后講解了Redis的相關功能,如排序、事務、消息訂閱、持久化、集群,以及其他高級功能,如慢查詢、流水線、地理位置、位圖等,旨在幫助讀者深入理解Redis,并掌握其精髓。
第三部分(第14∼16章)為Redis實戰篇,這部分結合實際應用,講解了對Redis數據庫的操作,以Java語言、最流行的SpringBoot框架及Python語言為主,并提供了大量的實例代碼,旨在提高讀者的動手能力,幫助讀者真正掌握Redis數據庫。
本書的特點
本書以模塊化為主,從了解、熟悉Redis,到Redis的進階學習,最后結合實際應用,為讀者展示了Redis數據庫的使用。本書前面的章節詳細介紹了關于Redis的200多個命令,并結合實際操作為讀者演示;后面的章節結合相關的原理圖、流程圖,為讀者介紹了Redis的相關功能,如排序、事務、消息訂閱、持久化、集群,以及其他高級功能,如慢查詢、流水線、地理位置、位圖等。最后以實際應用為主,提供了Java、SpringBoot、Python操作Redis等相關實例。
致謝
首先,非常感謝張增強老師對我的肯定與支持,并給予我寬松的時間,讓我得以完成本書的編寫。其次,感謝堅持不懈的自己,在多少個黑夜與周末,我不斷地堅持,換來了此書的完稿。最后,感謝郭豪、閆凱峰等好友的幫助,在他們的支持下,我不斷地向前,不斷地進步著。
內容簡介:

Redis數據庫是目前熱門的數據庫,擁有巨大的用戶量。本書主要分為三個階段講解Redis數據庫。第一部分Redis初始篇,詳細介紹了Redis的數據類型、以及Redis的大部分命令并結合實際操作進行了演示。第二部分Redis進階篇,深入的講解了Redis的客戶端、服務器端、數據結構的底層、以及Redis的排序、事務、持久化、集群等相關功能,同時講解了它的其他高級功能,比如慢日志查詢、流水線、地理位置、位圖等,并結合實際操作,步步演示。第三部分Redis實戰篇,分別介紹了Java、SpringBoot、Python來操作Redis的實例,幫助讀者更好的學習Redis。通過閱讀本書,讀者可以快速掌握Redis的相關命令及功能用法,并結合實戰學習,可以熟練應用于實際的生產開發中。 本書面向大多數軟件開發者,比如Redis初學者或者具有相關后臺開發經驗的開發者。


目錄:

第一部分 Redis初始篇
第1章 初識NoSQL 2
1.1 什么是NoSQL 2
1.2 NoSQL與傳統關系型數據庫的比較 3
1.3 在什么應用場景下使用NoSQL 4
1.4 NoSQL的數據模型 5
1.5 NoSQL數據庫的分類 6
1.5.1 NoSQL數據庫分類簡介 6
1.5.2 各類NoSQL數據庫的比較 6
第2章 認識Redis 8
2.1 Redis簡介 8
2.1.1 Redis的由來 8
2.1.2 什么是Redis 8
2.1.3 Redis的特性 8
2.1.4 Redis的使用場景 9
2.2 搭建Redis環境 10
2.2.1 在Window環境下搭建 10
2.2.2 在Linux環境下搭建 13
2.3 Redis客戶端 14
2.3.1 命令行客戶端 14
2.3.2 可視化客戶端 15
2.3.3 編程客戶端 17
2.4 Redis的啟動方式 18
2.4.1 在Window環境下的啟動方式 18
2.4.2 在Linux環境下的啟動方式 19
第3章 Redis數據類型 21
3.1 Redis數據類型之字符串(String)命令 21
3.1.1 設置鍵值對 22
3.1.2 獲取鍵值對 24
3.1.3 鍵值對的偏移量 26
3.1.4 設置鍵的生存時間 26
3.1.5 鍵值對的值操作 27
3.1.6 鍵值對的計算 29
3.1.7 鍵值對的值增量 31
3.2 Redis數據類型之哈希(Hash)命令 34
3.2.1 設置哈希表域的值 34
3.2.2 獲取哈希表中的域和值 36
3.2.3 哈希表統計 38
3.2.4 為哈希表中的域加上增量值 39
3.2.5 刪除哈希表中的域 40
3.3 Redis數據類型之列表(List)命令 41
3.3.1 向列表中插入值 41
3.3.2 獲取列表元素 44
3.3.3 刪除列表元素 46
3.3.4 移動列表 50
3.3.5 列表模式 52
3.4 Redis數據類型之集合(Set)命令 53
3.4.1 向集合中添加元素 53
3.4.2 獲取集合元素 54
3.4.3 集合運算 57
3.4.4 刪除集合元素 60
3.5 Redis數據類型之有序集合(Sorted Set)命令 61
3.5.1 添加元素到有序集合中 62
3.5.2 獲取有序集合元素 63
3.5.3 有序集合排名 69
3.5.4 有序集合運算 71
3.5.5 刪除有序集合元素 72
第4章 Redis必備命令 76
4.1 鍵(key)命令 76
4.1.1 查詢鍵 76
4.1.2 修改鍵 79
4.1.3 鍵的序列化 81
4.1.4 鍵的生存時間 82
4.1.5 鍵值對操作 85
4.1.6 刪除鍵 89
4.2 HyperLogLog命令 90
4.2.1 添加鍵值對到HyperLogLog中 90
4.2.2 獲取HyperLogLog的基數 91
4.2.3 合并HyperLogLog 92
4.3 腳本命令 92
4.3.1 緩存中的Lua腳本 92
4.3.2 對Lua腳本求值 93
4.3.3 殺死或清除Lua腳本 95
4.4 連接命令 96
4.4.1 解鎖密碼 96
4.4.2 斷開客戶端與服務器的連接 97
4.4.3 查看服務器的運行狀態 97
4.4.4 輸出打印消息 97
4.4.5 切換數據庫 98
4.5 服務器命令 98
4.5.1 管理客戶端 98
4.5.2 查看Redis服務器信息 101
4.5.3 修改并查看相關配置 108
4.5.4 數據持久化 111
4.5.5 實現主從服務 112
4.5.6 服務器管理 114
第5章 Redis數據庫 116
5.1 Redis數據庫切換 116
5.2 Redis數據庫中的鍵操作 117
5.2.1 添加鍵 118
5.2.2 修改鍵 118
5.2.3 刪除鍵 120
5.2.4 取鍵值 121
5.3 Redis數據庫通知 121
5.3.1 數據庫通知分類 122
5.3.2 數據庫通知的實現原理 124
第二部分 Redis進階篇
第6章 Redis客戶端與服務器 126
6.1 Redis客戶端 126
6.1.1 客戶端的名字、套接字、標志和時間屬性 126
6.1.2 客戶端緩沖區 129
6.1.3 客戶端的authenticated屬性 131
6.1.4 客戶端的argv和argc屬性 131
6.1.5 關閉客戶端 132
6.2 Redis服務器 132
6.2.1 服務器處理命令請求 132
6.2.2 服務器發送命令 133
6.2.3 服務器執行命令 134
6.2.4 服務器返回命令結果 135
6.3 服務器函數 136
6.3.1 serverCron函數 136
6.3.2 trackOperationsPerSecond函數 137
6.3.3 sigtermHandler函數 137
6.3.4 clientsCron函數 138
6.3.5 databasesCron函數 138
6.4 服務器屬性 138
6.4.1 cronloops屬性 138
6.4.2 rdb_child_pid與aof_child_pid屬性 138
6.4.3 stat_peak_memory屬性 139
6.4.4 lruclock屬性 140
6.4.5 mstime與unixtime屬性 141
6.4.6 aof_rewrite_scheduled屬性 141
6.5 Redis服務器的啟動過程 141
6.5.1 服務器狀態結構的初始化 142
6.5.2 相關配置參數的加載 142
6.5.3 服務器數據結構的初始化 142
6.5.4 數據庫狀態的處理 143
6.5.5 執行服務器的循環事件 144
第7章 Redis底層數據結構 145
7.1 Redis簡單動態字符串 145
7.1.1 SDS的實現原理 145
7.1.2 SDS API函數 147
7.2 Redis鏈表 148
7.2.1 鏈表的實現原理 148
7.2.2 鏈表API函數 150
7.3 Redis壓縮列表 151
7.3.1 壓縮列表的實現原理 151
7.3.2 壓縮列表API函數 153
7.4 Redis快速列表 154
7.4.1 快速列表的實現原理 154
7.4.2 快速列表API函數 156
7.5 Redis字典 157
7.5.1 字典的實現原理 157
7.5.2 字典API函數 160
7.6 Redis整數集合 161
7.6.1 整數集合的實現原理 161
7.6.2 整數集合API函數 163
7.7 Redis跳表 164
7.7.1 跳表的實現原理 164
7.7.2 跳表API函數 166
7.8 Redis中的對象 167
7.8.1 對象類型 167
7.8.2 對象的編碼方式 171
第8章 Redis排序 174
8.1 SORT排序命令 174
8.2 升序(ASC)與降序(DESC) 176
8.3 BY參數的使用 177
8.4 LIMIT參數的使用 180
8.5 GET與STORE參數的使用 181
8.6 多參數執行順序 185
第9章 Redis事務 187
9.1 Redis事務簡介 187
9.2 Redis 事務的ACID特性 188
9.2.1 事務的原子性 188
9.2.2 事務的一致性 190
9.2.3 事務的隔離性 192
9.2.4 事務的持久性 193
9.3 Redis事務處理 194
9.3.1 事務的實現過程 194
9.3.2 悲觀鎖和樂觀鎖 197
9.3.3 事務的WATCH命令 198
第10章 Redis消息訂閱 202
10.1 消息訂閱發布概述 202
10.2 消息訂閱發布實現 203
10.2.1 消息訂閱發布模式命令 203
10.2.2 消息訂閱功能之訂閱頻道 208
10.2.3 消息訂閱功能之訂閱模式 210
10.3 Redis消息隊列 211
10.3.1 消息訂閱發布模式的原理 211
10.3.2 消息生產者/消費者模式的原理 212
第11章 Redis持久化 213
11.1 Redis持久化操作概述 213
11.2 Redis持久化機制AOF 214
11.2.1 AOF持久化的配置 214
11.2.2 AOF持久化的實現 215
11.2.3 AOF文件重寫 216
11.2.4 AOF文件處理 220
11.2.5 AOF持久化的優劣 221
11.3 Redis持久化機制RDB 222
11.3.1 RDB持久化 222
11.3.2 RDB文件 224
11.3.3 RDB文件的創建與加載 226
11.3.4 創建與加載RDB文件時服務器的狀態 228
11.3.5 RDB持久化的配置 228
11.3.6 RDB持久化的優劣 229
11.4 AOF持久化與RDB持久化抉擇 230
第12章 Redis集群 231
12.1 Redis集群的主從復制模式 231
12.1.1 什么是主從復制 231
12.1.2 主從復制配置 234
12.1.3 復制功能的原理 237
12.1.4 復制功能的實現步驟 242
12.1.5 Redis讀寫分離 245
12.1.6 Redis心跳機制 246
12.2 Redis集群的高可用哨兵模式 247
12.2.1 什么是高可用哨兵模式 248
12.2.2 哨兵模式的配置 249
12.2.3 Sentinel的配置選項 255
12.2.4 哨兵模式的實現原理 256
12.2.5 選擇“合適”的slave節點作為master節點 263
12.2.6 Sentinel的下線狀態 266
12.2.7 Sentinel內部的定時任務 267
12.3 Redis集群搭建 268
12.3.1 什么是Redis集群 268
12.3.2 集群中的節點和槽 269
12.3.3 集群搭建 274
12.3.4 使用Redis集群 285
12.3.5 集群中的錯誤 287
12.3.6 集群的消息 289
第13章 Redis高級功能 291
13.1 慢查詢 291
13.1.1 配置慢查詢 291
13.1.2 慢查詢的生命周期 293
13.1.3 慢查詢日志 294
13.1.4 慢查詢命令 296
13.2 流水線 297
13.2.1 什么是Pipeline技術 297
13.2.2 如何使用Pipeline技術 298
13.3 地理位置的應用 298
13.3.1 存儲地理位置 298
13.3.2 獲取地理位置的經緯度信息 299
13.3.3 計算兩地間的距離 300
13.3.4 獲取指定范圍內的位置信息 300
13.4 位圖 302
13.4.1 二進制位數組 302
13.4.2 位數組的表示 304
13.4.3 位數組的實現 305
第三部分 Redis實戰篇
第14章 Java操作Redis 310
14.1 Java客戶端Jedis 310
14.1.1 Jedis的獲取 310
14.1.2 Jedis的使用 311
14.1.3 Jedis常用API 311
14.1.4 Jedis事務 313
14.1.5 Jedis主從復制 316
14.1.6 Jedis的連接池 318
14.2 Java操作Redis數據類型 321
14.2.1 Java操作Redis字符串類型 322
14.2.2 Java操作Redis列表類型 323
14.2.3 Java操作Redis集合類型 325
14.2.4 Java操作Redis哈希表類型 326
14.2.5 Java操作Redis有序集合類型 328
14.3 Java操作Redis實現排行榜 329
14.4 Java操作Redis實現秒殺功能 332
14.5 Java操作Redis實現消息隊列 335
14.6 Java操作Redis實現故障轉移 338
第15章 SpringBoot操作Redis 343
15.1 在SpringBoot中應用Redis 343
15.1.1 Redis依賴配置 343
15.1.2 Redis配置文件 344
15.2 SpringBoot連接Redis 345
15.3 SpringBoot整合Redis實現緩存 352
第16章 Python操作Redis 364
16.1 在Python中應用Redis 364
16.1.1 在PyCharm中配置Redis 364
16.1.2 Python連接Redis 365
16.2 Python操作Redis數據類型 367
16.2.1 Python操作Redis String類型 367
16.2.2 Python操作Redis List類型 370
16.2.3 Python操作Redis Set類型 372
16.2.4 Python操作Redis Hash類型 374
16.2.5 Python操作Redis SortedSet類型 376
16.2.6 Python操作Redis的其他key 378
16.3 Python操作Redis實現消息訂閱發布 380
序: