深入理解 Redis
傑里米·尼爾森 (Jeremy Nelson)
- 出版商: 電子工業
- 出版日期: 2017-04-01
- 定價: $534
- 售價: 8.5 折 $454
- 語言: 簡體中文
- 頁數: 300
- 裝訂: 平裝
- ISBN: 7121312018
- ISBN-13: 9787121312014
-
相關分類:
Key-Value Store
- 此書翻譯自: Mastering Redis
下單後立即進貨 (約4週~6週)
買這商品的人也買了...
-
$250Redis 入門指南, 2/e
-
$414$393 -
$480$408 -
$403分佈式實時計算框架原理及實踐案例
-
$454Redis 開發與運維
-
$857逆向工程權威指南 (Reverse Engineering for Beginners)
-
$780$616 -
$352Linux 性能優化 (Optimizing Linux Performance: A Hands-On Guide to Linux Performance Tools)
-
$607MySQL 運維內參:MySQL、Galera、Inception 核心原理與最佳實踐
-
$403ELK Stack 權威指南, 2/e
-
$594$564 -
$500$395 -
$265Web API 的設計與開發 (Web API : the Good Parts)
-
$301精通 Nginx, 2/e ( Mastering NGINX, 2/e)
-
$480$379 -
$480$379 -
$403MySQL 王者晉級之路
-
$454Redis 4.x Cookbook (中文版)
-
$354$336 -
$420$332 -
$403Redis 深度歷險:核心原理與應用實踐
-
$454持續交付 2.0 業務引領的 DevOps 精要
-
$580$493 -
$796Kubernetes 權威指南:從 Docker 到 Kubernetes 實踐全接觸, 4/e
-
$454持續集成與持續部署實踐
相關主題
商品描述
本書以由淺入深、由原理到應用場景的方式介紹了Redis 這款NoSQL 數據庫產品。書中不僅細致地講解了Redis 中的數據結構及流行的使用模式,還針對Redis 鍵的設計和管理,以及內存管理提出了建設性的方案。同時,作者深入Redis 源碼,將其內部構造通過源代碼調試的方式進行呈現。本書適合有一定NoSQL 經驗的開發者或者架構師閱讀。讀者可以從書中找到許多應用場景和解決方案,例如Docker 部署、Redis 消息隊列、基於Redis 的ETL 應用和基於Redis 的機器學習等。
作者簡介
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。
此後,他在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出版。
目錄大綱
目錄
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