Redis入门指南

出版社:人民邮电出版社
出版日期:2013-5-1
ISBN:9787115312945
作者:李子骅
页数:182页

章节摘录

版权页:   插图:   现在我们希望将这篇文章的数据存储在数据库中,并且要求可以通过标签检索出文章。如果使用关系数据库存储,一般会将其中的标题、正文和阅读量存储在一个表中,而将标签存储在另一个表中,然后使用第三个表连接文章和标签表。需要查询时还得将三个表进行连接,不是很直观。而Redis字典结构的存储方式和对多种键值数据类型的支持使得开发者可以将程序中的数据直接映射到Redis中,数据在Redis中的存储形式和其在程序中的存储方式非常相近。使用Redis的另一个优势是其对不同的数据类型提供了非常方便的操作方式,如使用集合类型存储文章标签,Redis可以对标签进行如交集、并集这样的集合运算操作。3.5节会专门介绍如何借助集合运算轻易地实现“找出所有同时属于A标签和B标签且不属于C标签”这样关系数据库实现起来性能不高且较为繁琐的操作。 1.2.2内存存储与持久化 Redis数据库中的所有数据都存储在内存中。由于内存的读写速度远快于硬盘,因此Redis在性能上对比其他基于硬盘存储的数据库有非常明显的优势,在一台普通的笔记本电脑上,Redis可以在一秒内读写超过十万个键值。 将数据存储在内存中也有问题,例如,程序退出后内存中的数据会丢失。不过Redis提供了对持久化的支持,即将可以内存中的数据异步写入到硬盘中,同时不影响继续提供服务。 1.2.3 功能丰富 Redis虽然是作为数据库开发的,但由于其提供了丰富的功能,越来越多的人将其用作缓存、队列系统等。Redis可谓是名副其实的多面手。 Redis可以为每个键设置生存时间(Time To Live,TTL),生存时间到期后键会自动被删除。这一功能配合出色的性能让Redis可以作为缓存系统来使用,而且由于Redis支持持久化和丰富的数据类型,使其成为了另一个非常流行的缓存系统Memcached的有力竞争者。

名人推荐

作为一本Redis入门手册,全书介绍很全面,朴实的语言让工程师能很快上手,即便对于知乎这样有不少Redis使用经验的团队,也能从中发现新鲜点,相信它对很多创业团队也会有帮助。 ——李申申,知乎网联合创始人、首席技术官   随着互联网业务对性能需求的日益强烈,作为Key/Value存储的Redis具有数据类型丰富,性能表现优异的特点。如果能够熟练地驾驭它,不管把它用做缓存还是存储,对很多大型应用都很有帮助。新浪作为世界上最大的Redis使用者,体验到了Redis为高并发在线业务带来的好处,但同时也遇到了很多挑战,新浪在推动Redis这种NoSQL产品在中国互联网产品技术架构中的使用做出了卓越的贡献。作为国内第一本推进Redis普及的书,此书比较详细地介绍了Redis入门必备的基础知识,同时具有一些实践性方面的章节。如果你对Redis感兴趣,推荐你阅读此书,此书会带领你开启Redis的使用大门。 ——杨海朝,新浪首席数据库架构师   在任何规模,任何类型的服务器项目中,都存在一些最适合用Redis来存储的数据。而对Redis有了充分了解后,你就能把这个下一代的数据结构服务器用到最适合的地方。这本书可以帮助你成为Redis专家。 ——刘昕, V2EX.com创始人   Redis作为可持久化的高性能Key/Value存储服务,已经逐步成为各大互联网公司系统开发的首选。本书能够通过简单朴实的语言,深入浅出的介绍Redis各种使用方法和技巧,是一本不可多得的好书。 ——吴一飞,腾讯微博商业产品中心项目经理   Redis最近几年在国内的发展势头非常不错,很多公司开始选择Redis作为自己的缓存或小数据量存储方案,但目前市场上介绍Redis的相关书籍却非常匮乏。本书恰好弥补了这一缺口,是一本非常不错的入门进阶书籍,书中介绍的应用实践案例也都是一些典型的应用场景,并在此之上深入介绍一些Redis原理和优化上的内容,相信读过之后会对Redis有一个非常全面而又深入的了解。 ——田琪,腾讯公司高级工程师   与传统的数据库相比,Redis提供了对多种数据结构的原生支持,在很多场合能够更方便地存储和处理数据。本书以各种实例带领读者走进Redis的世界,展现Redis的独到之处,非常值得一读。 ——刘其帅,街旁网高级软件开发工程师

内容概要

李子骅(Luin),北京航空航天大学软件学院2009级本科生,随行科技联合创始人。先后工作于街旁网、微软亚洲研究院和纽约时报中文网。热爱互联网,并热衷于各种新技术,对很多开发语言均有涉猎,擅长Node.js与Redis,有两年多的Redis使用经验。愿意将自己对技术的感悟与他人分享。个人博客:http://zihua.li。

书籍目录

第1章 简介 1
1.1 历史与发展 1
1.2 特性 2
1.2.1 存储结构 2
1.2.2 内存存储与持久化 3
1.2.3 功能丰富 3
1.2.4 简单稳定 4
第2章 准备 7
2.1 安装Redis 7
2.1.1 在POSIX系统中安装 7
2.1.2 在OS X系统中安装 8
2.1.3 在Windows中安装 9
2.2 启动和停止Redis 11
2.2.1 启动Redis 11
2.2.2 停止Redis 14
2.3 Redis命令行客户端 14
2.3.1 发送命令 14
2.3.2 命令返回值 15
2.4 配置 16
2.5 多数据库 17
第3章 入门 19
3.1 热身 19
3.2 字符串类型 21
3.2.1 介绍 22
3.2.2 命令 22
3.2.3 实践 26
3.2.4 命令拾遗 28
3.3 散列类型 32
3.3.1 介绍 33
3.3.2 命令 34
3.3.3 实践 37
3.3.4 命令拾遗 39
3.4 列表类型 40
3.4.1 介绍 41
3.4.2 命令 41
3.4.3 实践 44
3.4.5 命令拾遗 46
3.5 集合类型 48
3.5.1 介绍 48
3.5.2 命令 49
3.5.3 实践 52
3.5.4 命令拾遗 54
3.6 有序集合类型 57
3.6.1 介绍 57
3.6.2 命令 58
3.6.3 实践 62
3.6.4 命令拾遗 63
第4章 进阶 67
4.1 事务 67
4.1.1 概述 68
4.1.2 错误处理 69
4.1.3 WATCH命令介绍 70
4.2 生存时间 72
4.2.1 命令介绍 73
4.2.2 实现访问频率限制之一 75
4.2.3 实现访问频率限制之二 76
4.2.4 实现缓存 77
4.3 排序 78
4.3.1 有序集合的集合操作 78
4.3.2 SORT命令 79
4.3.3 BY参数 81
4.3.4 GET参数 83
4.3.5 STORE参数 84
4.3.6 性能优化 85
4.4 消息通知 85
4.4.1 任务队列 86
4.4.2 使用Redis实现任务队列 87
4.4.3 优先级队列 88
4.4.4 “发布/订阅”模式 90
4.4.5 按照规则订阅 91
4.5 管道 92
4.6 节省空间 93
4.6.1 精简键名和键值 94
4.6.2 内部编码优化 94
第5章 实践 103
5.1 PHP与Redis 103
5.1.1 安装 104
5.1.2 使用方法 104
5.1.3 简便用法 105
5.1.4 实践:用户注册登录功能 107
5.2 Ruby与Redis 111
5.2.1 安装 111
5.2.2 使用方法 111
5.2.3 简便用法 112
5.2.4 实践:自动完成 112
5.3 Python与Redis 116
5.3.1 安装 116
5.3.2 使用方法 116
5.3.3 简便用法 117
5.3.4 实践:在线的好友 117
5.4 Node.js与Redis 123
5.4.1 安装 123
5.4.2 使用方法 123
5.4.3 简便用法 125
5.4.4 实践:IP地址查询 127
第6章 脚本 131
6.1 概览 131
6.1.1 脚本介绍 132
6.1.2 实例:访问频率限制 132
6.2 Lua语言 133
6.2.1 Lua语法 134
6.2.2 标准库 143
6.2.3 其他库 146
6.3 Redis与Lua 147
6.3.1 在脚本中调用Redis命令 147
6.3.2 从脚本中返回值 148
6.3.3 脚本相关命令 148
6.3.4 应用实例 149
6.4 深入脚本 152
6.4.1 KEYS与ARGV 152
6.4.2 沙盒与随机数 153
6.4.3 其他脚本相关命令 154
6.4.4 原子性和执行时间 155
第7章 管理 157
7.1 持久化 157
7.1.1 RDB方式 157
7.1.2 AOF方式 159
7.2 复制 161
7.2.1 配置 161
7.2.2 原理 163
7.2.3 图结构 164
7.2.4 读写分离 165
7.2.5 从数据库持久化 165
7.3 安全 166
7.3.1 可信的环境 166
7.3.2 数据库密码 166
7.3.3 命名命令 167
7.4 通信协议 167
7.4.1 简单协议 167
7.4.2 统一请求协议 169
7.5 管理工具 170
7.5.1 redis-cli 170
7.5.2 phpRedisAdmin 171
7.5.3 Rdbtools 173
附录A Redis命令属性 175
A.1 REDIS_CMD_WRITE 175
A.2 REDIS_CMD_DENYOOM 177
A.3 REDIS_CMD_NOSCRIPT 178
A.4 REDIS_CMD_RANDOM 179
A.5 REDIS_CMD_SORT_FOR_SCRIPT 179
A.6 REDIS_CMD_LOADING 179
附录B 配置参数索引 181

编辑推荐

国内市场上第一本中文Redis图书。紧密结合实践,结合作者的开发经验,对很多Redis使用者的疑惑进行了解答,是官方文档的有力补充。语言生动有趣,读者可跟随着主人公小白的脚步在轻松的氛围中学习。

作者简介

《Redis入门指南》是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、管道、持久化、优化Redis存储空间等内容,并采用任务驱动的方式介绍了PHP、Ruby、Python和Node.js这4种语言的Redis客户端库的使用方法。
《Redis入门指南》的目标读者不仅包括Redis的新手,还包括那些已经掌握Redis使用方法的人。对于新手而言,《Redis入门指南》的内容由浅入深且紧贴实践,旨在让读者真正能够即学即用;对于已经了解Redis的读者,通过《Redis入门指南》的大量实例以及细节介绍,也能发现很多新的技巧。


 Redis入门指南下载 更多精彩书评



发布书评

 
 


精彩书评 (总计4条)

  •     刚敲了一段 代码,就无法显示了!后来网上查询半天,才发现书本上没交代如何与PHP 沟通那段代码require './predis/autoload.php';$redis = new Predis\Client(array('host'=>'127.0.0.1', 'port'=>6379));。。。。这也太陈旧了,无法运行 ,应该换成$redis = new Redis();$redis->connect('127.0.0.1',6379);
  •     该书介绍了redis入门的相关知识,简单易懂由浅入深,非常适合刚接触redis的学习者~~书中的小白和老师的对话正揭示出初学者在学习过程中会遇到的各种难解,作者从学习者角度出发的介绍说明深人浅出逐渐带领读者走入redis的世界中去。
  •     读完后,写了一篇博客 http://www.cnblogs.com/yanghuahui/p/3696400.html在常见的场景中,读的频率大于写,当单机Redis无法应付大量的杜请求时(尤其是较耗资源的请求,比如SORT命令等)可以通过复制功能简历多个从数据库,主数据库只进行写操作,而从数据库负责写操作。另一个相对耗时的操作是持久化,为了提高性能,可以通过复制功能建立一个(或若干个)从数据库,并在从数据库中启用持久化,同时在主数据库中禁用持久化。当从数据库崩溃时重启后主数据库会自动将数据同步过来,所以无需担心数据丢失。而当主数据库崩溃时,需要在从数据库中使用SLAVEOF NO ONE命令将从数据库提升成主数据库继续服务,并在原来的主数据库启动后使用SLAVEOF命令将其设置成新的主数据库的从数据库,即可将数据同步回来。perfect!

精彩短评 (总计65条)

  •     后面的2张讲的很生硬
  •     书很薄,但读起来很有价值
  •     并非纯粹的一本参考指南,书中结合常用场景,给出使用Redis的具体示例,很赞
  •     看了电子版的 ,通过例子循序渐进 ,适合入门者。
  •     生在NoSQL的年代~
  •     入门经典
  •     给四星是因为应用场景讲的不错,很生动,不过管理方面基本抄袭了网上的文档,俨然在后边写的时候动力不足~
  •     写得很好,讲解的详细又不教条
  •     真的是入门。
  •     入门挺好
  •     入门的好书,有丰富的例子,后面还有各种语言的实战部分
  •     目前唯一一本介绍Redis的中文书籍
  •     Redis入门好书,虽然介绍的比较简洁,但是对实践思路有一定的指导
  •     与文档类似
  •     第一次感觉电子版的书很舒服,不用花钱去买,很方便。可能是这本书要简单一点。看到第三章,入门,绝壁是一个本好书。
  •     工作需要,补一下相关知识
  •     还行吧,用来快速入门,有个大概的了解,再看redis设计与实现结合源码来看。
  •     很适合Redis学习者的第一本读物
  •     入门还行,但是不值那个价格。
  •     入门指南,内容较少,但例子还不错
  •     简要介绍了基本功能
  •     刚入手还没来得及详阅
  •     作为redis的学习很不错
  •     入门相当不错
  •     接近Api介绍,可以作为入门参考书看看。介绍的东西应该还算全。
  •     一本不错的入门书
  •     我觉得非常不错,该有的知识点都提到了。
  •     先来说下作者,就比我大两届,在他博客里面学到了双拼这种东西。逃离舒适区学习东西是很重要的。 书的话,前半部分写得有点啰嗦。
  •     讲解思路清晰,容易上手。
  •     Redis 超好用!
  •     比网上翻译的redis中文文档强多了
  •     可以快速的了解和简单的应用Redis
  •     薄薄的一本书,两天可以看完了。作者思路比较清晰,书看起来很流畅。
  •     泛泛而谈
  •     一般般。写得比较简单!
  •     实际上我是因为打折加上七周七数据还没出才买的,看过之后很失望。第一,内容上很乱,几种语言都上的话不见得好;第二,启发性基本没有;第三,看完对Redis也没多大兴趣了。总之,无亮点。
  •     入门级,部分章节跳读了
  •     通俗易懂实用
  •     简单易懂
  •     还可以
  •     一本不错的入门书。
  •     国内redis的书并不多,这本书很基本,我是新手,看了觉得入门还是不错的,毕竟各方面都有涵盖到。
  •     确实是文档水平
  •     书本从入门开始介绍redis,基本上各个方面都有涉及。美中不足的是,在一些环节没有深入探讨。
  •     入门级教程 而且里面的内容有点凑数之嫌…用来了解入门合适
  •     redis 我本人为可讲的内容并不多,,无非就是一些基本操作,没想到作者讲到了很多关于redis的用法和技巧,以及在生产环境中的配置和部署。是学习redis不错的入门书籍
  •     记住了 sort ...by...limit...get ...store
  •     章节划分挺合理,入门也循序渐进,很好
  •     大体看了下,使用时可以详细看,和数据库原理基本相通,有时间可以看一下数据库基础原理。
  •     redis是颠覆性的,越来越多的项目已经不需要数据库了!书其实没必要,本来不是很难的东西,涉及不到过多的优化之类的东西。其实看网上的博客来得好一点,对其数据结构之类的也讲得详细,能更有效地使用redis,进一步的了解优化需要读改源码了。
  •     入门级别较简单的书。适合刚使用redis的人阅读。
  •     这年头什么人都能写书,连说明书都不算不上,小学生的文笔,买的人最好先试读下。
  •     书挺好的,当时没发现网上有本电子吧,是网友总结的redis的知识,和这本书的内容相当...
  •     通俗易懂。
  •     入门不错
  •     入门书籍,可以结合redis实战看
  •     还不错,用学生带入,可以入门!
  •     写得不错,结合场景的说明,功能介绍得很到位,可以让读者对redis有清晰的认识。不过故事写得挺烂的。
  •     虽然是入门, 但也太简单了吧
  •     书有点薄,内容对初学者还是很适用的,不是特别深入。
  •     很适合入门和初级开发者
  •     用来入门够了 以后再慢慢补知识吧。。。。
  •     对入门级别来看,很值得推荐. 2天时间看完了这本书,看完后竟然发现自己有种莫名的空虚感.
  •     入门的书籍,对于想入门的同学还是挺推荐的,看完之后可以去看《Redis的设计与实现》
  •     redis非常好的入门书,除了前面的结构描述比较无聊外。其他各章都是惊喜。ps,redis的功能很大程度上就是实现了一些数据结构,所以说了解下数据结构有好处。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024