-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
深入理解Redis 版權信息
- ISBN:9787121312014
- 條形碼:9787121312014 ; 978-7-121-31201-4
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
深入理解Redis 本書特色
本書以由淺入深、由原理到應用場景的方式介紹了Redis 這款NoSQL 數據庫產品。書中不僅細致地講解了Redis 中的數據結構及流行的使用模式,還針對Redis 鍵的設計和管理,以及內存管理提出了建設性的方案。同時,作者深入Redis 源碼,將其內部構造通過源代碼調試的方式進行呈現。本書適合有一定NoSQL 經驗的開發者或者架構師閱讀。讀者可以從書中找到許多應用場景和解決方案,例如Docker 部署、Redis 消息隊列、基于Redis 的ETL 應用和基于Redis 的機器學習等。
深入理解Redis 內容簡介
Redis是當下極為流行的開源鍵值數據結構服務器。它提供了多種功能,可在此之上構建多種平臺。
本書定位為實用指南,旨在幫助讀者深入理解Redis數據結構,以便充分發揮Redis的優秀功能。讀者的Redis之旅始于對Redis需求的討論,然后講解了高級鍵管理方面的內容。接下來,讀者將學習設計模式、在DevOps環境中使用Redis的*實踐,以及Docker容器化范式。在這之后,讀者將學習如何使用Redis集群和Redis Sentinel進行擴展,隨后將對Redis與其他NoSQL技術(如ElasticSearch和MongoDB)的結合進行說明。*后,讀者將了解如何使用Redis為不相同的數據流構建實時數據分析儀表板。
◎探索Redis 3.2中的新增功能
◎選擇正確的Redis數據結構解決問題
◎理解Redis事件循環并實現自定義C命令
◎使用Redis服務器端腳本Lua解決復雜的工作流問題
◎配置Redis實例以達到*內存管理
◎使用Redis集群實現數據的分布式
◎使用Redis Sentinel提升Redis解決方案的穩定性
◎將Redis用作現存的數據庫和NoSQL環境的補充方案
◎充分利用Redis提供的各種功能,成為一位DevOps專家
讓你的Redis技能產生質的飛躍,讓開發酷炫應用從此輕而易舉
深入理解Redis 目錄
1 為何選擇Redis? 1
合適之選? 2
嘗試使用Redis 4
流行的使用模式 9
Redis不合心意?馬上再試試! 11
總結 13
2 高級鍵管理與數據結構 14
Redis鍵 14
Redis鍵模式 15
鍵分隔符和命名約定 17
手動創建Redis模式 19
解構Redis對象映射器 22
鍵過期 27
鍵的注意事項 27
大O符號 28
為自定義代碼計算大O符號 30
回顧Redis數據結構的時間復雜度 32
字符串 32
哈希 33
列表 34
集合 35
有序集合 36
高級有序集合操作 39
位串和位操作 39
HyperLogLogs 41
總結 42
3 內存管理的建議與技巧 44
配置Redis 44
主從復制 45
32位Redis 45
INFO memory詳解 47
鍵過期 49
LRU鍵清除策略 54
創建內存高效的Redis數據結構 62
小巧的哈希、列表、集合和有序集合 62
把位、字節和Redis字符串用作隨機訪問數組 68
優化哈希,高效存儲 69
硬件和網絡延遲 72
操作系統建議 74
總結 75
4 Redis編程**部分:Redis核心、客戶端和編程語言 76
Redis的內部結構 76
理解redis.h和redis.c 83
Redis序列化協議 93
Redis RDB格式 97
使用Redis和Python創建協程 99
使用Node.js和Redis實現Todo列表應用 103
復制與公共訪問 106
總結 106
5 Redis編程第二部分:Lua腳本、管理與DevOps 108
在Redis中使用Lua 108
使用Redis的KEYS和ARGV 117
Redis中的高級Lua腳本 121
MARC21數據提取 121
紙質文具在線商店 123
讓JSON-LD、Lua和Redis協同工作 126
Redis Lua調試器 130
Redis的編程與管理 133
主從復制 134
使用MULTI和EXEC實現事務 136
Redis在DevOps中扮演的角色 139
總結 140
6 可伸縮性:Redis集群和Sentinel 142
數據分區的方法 142
范圍分區 143
列表分區 145
哈希分區 148
復合分區 149
鍵哈希標簽 150
使用Twemproxy實現Redis集群 151
使用關聯數據片段服務器測試Twemproxy 152
Redis集群的背景 158
Redis集群概覽 159
使用Redis集群 160
Redis集群實時重新配置及重新分片 165
故障轉移 168
在Redis集群中替換或者升級節點 170
使用Redis Sentinel進行監控 171
為區域代碼列表分區配置Redis Sentinel 173
總結 176
7 Redis與互補的NoSQL技術 177
NoSQL技術的繁榮 177
Redis作為MongoDB的分析補充 181
Redis作為ElasticSearch的預處理組件 192
在BIBCAT中使用Redis和ElasticSearch 193
ElasticSearch、Logstash和Redis 198
Redis作為Fedora Commons的智能緩存補充 199
總結 205
8 Docker容器與云端部署 206
Linux容器 206
與Redis相關的Docker基礎 211
Docker鏡像中的層 219
Docker文件系統后端 220
Docker和Redis的問題 227
使用Docker Compose打包應用程序 227
Redis和AWS 232
專門的云托管選項 233
Redis Labs 234
DigitalOcean Redis 234
總結 235
9 任務管理與消息隊列 236
Redis的發布/訂閱模式概述 236
發布/訂閱RESP回復 237
SUBSCRIBE和UNSUBSCRIBE RESP數組 237
PSUBSCRIBE和UNSUBSCRIBE數組 239
使用redis-cli進行發布/訂閱 240
Redis發布訂閱實戰 242
**個工作站采用Python進行發布訂閱 244
第二個工作站采用Node.js進行發布訂閱 246
第三個工作站使用Lua客戶端進行發布訂閱 248
Redis鍵空間通知 251
使用Redis和Celery進行任務管理 255
GIS和RestMQ 259
使用RestMQ進行任務管理 262
使用Redis技術進行消息通信 264
使用Disque進行消息通信 264
總結 266
10 信息流的測量與管理 267
基于Redis的ETL方案 267
將JSON轉換成RESP 273
管理Redis時的安全考慮 279
使用Redis Web儀表板進行運營監測 282
機器學習 283
樸素貝葉斯與工作分類 284
使用Redis實現線性規劃 294
總結 299
來源 300
深入理解Redis 作者簡介
汪佳南,擁有7年軟件開發經驗。對編程情有獨鐘,對產品設計很“感冒”,始終堅信技術可以改變世界。《RabbitMQ實戰 高效部署分布式消息隊列 》一書譯者。Jeremy Nelson是科羅拉多斯普林市的一所四年制私立文理學院科羅拉多學院的一位元數據和系統圖書管理員。除了每周 8小時的圖書館研究技術支持工作,為大學生提供信息素養指導,并監督圖書館的系統和編目部門這三項工作之外,Nelson正在積極研究和開發 Catalog Pull平臺中的各種組件和開源工具,供科羅拉多大學、科羅拉多州研究圖書館聯盟和國會圖書館使用。他還是語義網絡初創公司 KnowledgeLinks.io的聯合創始人和 CTO。
他之前在西部州科羅拉多大學和猶他大學有過圖書館工作經驗。在成為圖書管理員之前,他曾在各種軟件公司和金融服務機構中擔任程序員和項目經理。他的第一本書 Becoming a Lean Library于 2015年出版,將精益創業和精益制造理念應用于圖書館和圖書館的運營。 Nelson從諾克斯學院獲得了本科學位,并從 University of Illinois Urbana-Champaign獲得了圖書館和信息科學的科學碩士。
關于審校者
Emilien Kenler在從事了一些小型 Web項目之后,在 2008年高中時開始專注于游戲開發。直到 2011年,他為不同的小組工作并專門從事系統管理。
2011年,在研究計算機科學工程的同時,他創立了一家公司銷售 Minecraft服務器。他基于像 Node.js和 RabbitMQ這樣的新技術,創建了一個輕量級 IaaS(https://github.com/HostYourCreeper/)。
此后,他在 TaDaweb擔任系統管理員,構建基礎架構并創建管理部署和監控的工具。
2014年,他在東京 Wizcorp開啟了新的歷程。同年,他畢業于 University of Technology of Compiègne。
Emilien為 Packt Publishing編寫了 MariaDB Essentials。他還負責了 Learning Nagios 4、 MariaDB High Performance、OpenVZ Essentials、Vagrant Virtual Development Environment Cookbook和 Getting Started with MariaDB-Second Edition的審校。
Saurabh Minni擁有計算機科學專業的工程學位。他有超過 10年的工作經驗,通曉各種編程語言,包括匯編語言、 C、C 、Java、Delphi、JavaScript、Android、iOS、PHP、 Python、ZMQ、Redis、Mongo、Kyoto Tycoon、Cocoa、Carbon、Apache Kafka、Apache Storm和 ElasticSearch。總之,他是一位徹頭徹尾的程序員,喜歡每天學習與技術相關的新事物。
目前,他在 Near公司(這是一家神奇的初創公司,正在搭建位置智能平臺)中擔任技術架構師一職。除了處理幾個項目之外,他還負責部署 Apache Kafka集群。這有助于簡化大數據處理系統中的數據消費。這些系統包括 Apache Storm、Hadoop,等等。
Saurabh同時也是 Apache Kafka Cookbook一書的作者。這是一本有關 Apache Kafka的書,由 Packt Publishing出版。他還負責 Learning Apache Kafka一書的審校。該書由 Packt Publishing出版。你可以在 Twitter上通過@the100rabh聯系他,也可以在 https://github.com/the100rabh/上找到他。
- >
月亮與六便士
- >
苦雨齋序跋文-周作人自編集
- >
企鵝口袋書系列·偉大的思想20:論自然選擇(英漢雙語)
- >
伊索寓言-世界文學名著典藏-全譯本
- >
中國歷史的瞬間
- >
煙與鏡
- >
羅庸西南聯大授課錄
- >
大紅狗在馬戲團-大紅狗克里弗-助人