深入理解Redis

本书特色

[

本书以由浅入深、由原理到应用场景的方式介绍了Redis 这款NoSQL 数据库产品。书中不仅细致地讲解了Redis 中的数据结构及流行的使用模式,还针对Redis 键的设计和管理,以及内存管理提出了建设性的方案。同时,作者深入Redis 源码,将其内部构造通过源代码调试的方式进行呈现。本书适合有一定NoSQL 经验的开发者或者架构师阅读。读者可以从书中找到许多应用场景和解决方案,例如Docker 部署、Redis 消息队列、基于Redis 的ETL 应用和基于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技能产生质的飞跃,让开发酷炫应用从此轻而易举

]

作者简介

[

  汪佳南,拥有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/上找到他。

]

目录

目录1 为何选择Redis? 1合适之选? 2尝试使用Redis 4流行的使用模式 9Redis不合心意?马上再试试! 11总结 132 高级键管理与数据结构 14Redis键 14Redis键模式 15键分隔符和命名约定 17手动创建Redis模式 19解构Redis对象映射器 22键过期 27键的注意事项 27大O符号 28为自定义代码计算大O符号 30回顾Redis数据结构的时间复杂度 32字符串 32哈希 33列表 34集合 35有序集合 36高级有序集合操作 39位串和位操作 39HyperLogLogs 41总结 423 内存管理的建议与技巧 44配置Redis 44主从复制 4532位Redis 45INFO memory详解 47键过期 49LRU键清除策略 54创建内存高效的Redis数据结构 62小巧的哈希、列表、集合和有序集合 62把位、字节和Redis字符串用作随机访问数组 68优化哈希,高效存储 69硬件和网络延迟 72操作系统建议 74总结 754 Redis编程**部分:Redis核心、客户端和编程语言 76Redis的内部结构 76理解redis.h和redis.c 83Redis序列化协议 93Redis RDB格式 97使用Redis和Python创建协程 99使用Node.js和Redis实现Todo列表应用 103复制与公共访问 106总结 1065 Redis编程第二部分:Lua脚本、管理与DevOps 108在Redis中使用Lua 108使用Redis的KEYS和ARGV 117Redis中的高级Lua脚本 121MARC21数据提取 121纸质文具在线商店 123让JSON-LD、Lua和Redis协同工作 126Redis Lua调试器 130Redis的编程与管理 133主从复制 134使用MULTI和EXEC实现事务 136Redis在DevOps中扮演的角色 139总结 1406 可伸缩性:Redis集群和Sentinel 142数据分区的方法 142范围分区 143列表分区 145哈希分区 148复合分区 149键哈希标签 150使用Twemproxy实现Redis集群 151使用关联数据片段服务器测试Twemproxy 152Redis集群的背景 158Redis集群概览 159使用Redis集群 160Redis集群实时重新配置及重新分片 165故障转移 168在Redis集群中替换或者升级节点 170使用Redis Sentinel进行监控 171为区域代码列表分区配置Redis Sentinel 173总结 1767 Redis与互补的NoSQL技术 177NoSQL技术的繁荣 177Redis作为MongoDB的分析补充 181Redis作为ElasticSearch的预处理组件 192在BIBCAT中使用Redis和ElasticSearch 193ElasticSearch、Logstash和Redis 198Redis作为Fedora Commons的智能缓存补充 199总结 2058 Docker容器与云端部署 206Linux容器 206与Redis相关的Docker基础 211Docker镜像中的层 219Docker文件系统后端 220Docker和Redis的问题 227使用Docker Compose打包应用程序 227Redis和AWS 232专门的云托管选项 233Redis Labs 234DigitalOcean Redis 234总结 2359 任务管理与消息队列 236Redis的发布/订阅模式概述 236发布/订阅RESP回复 237SUBSCRIBE和UNSUBSCRIBE RESP数组 237PSUBSCRIBE和UNSUBSCRIBE数组 239使用redis-cli进行发布/订阅 240Redis发布订阅实战 242**个工作站采用Python进行发布订阅 244第二个工作站采用Node.js进行发布订阅 246第三个工作站使用Lua客户端进行发布订阅 248Redis键空间通知 251使用Redis和Celery进行任务管理 255GIS和RestMQ 259使用RestMQ进行任务管理 262使用Redis技术进行消息通信 264使用Disque进行消息通信 264总结 26610 信息流的测量与管理 267基于Redis的ETL方案 267将JSON转换成RESP 273管理Redis时的安全考虑 279使用Redis Web仪表板进行运营监测 282机器学习 283朴素贝叶斯与工作分类 284使用Redis实现线性规划 294总结 299来源 300

封面

深入理解Redis

书名:深入理解Redis

作者:杰里米.尼尔森

页数:300

定价:¥89.0

出版社:电子工业出版社

出版日期:2017-04-01

ISBN:9787121312014

PDF电子书大小:43MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注