多种网盘链接检测插件 购买前,请先检测网盘链接是否有效
《深入理解Redis》_1
《深入理解Redis》_2
《深入理解Redis》_3
内容简介:
Mastering Redis
深入理解 Redis
[美] Jeremy Nelson著
汪佳南译
電子工業出版科
Publishing House of Electronics Industry
北京· BELJING
内容简介
本书以由浅入深、由原理到应用场景的方式介绍了 Redis这款 NoSQL数据库产品。书中不仅细致地
井解了Reds中的数据结构及流行的使用模式,还针对 Redis键的设计和管理,以及_内.存_管理提出了建设
性的方案。同时,作者深入 Redis源码,将其内部构造通过源代码调试的方式进行呈现
本书适合有一定 NoSQL经验的开发者或者架构师阅读。读者可以从书中找到许多应用场景和解决方
案,例如 Docker部署、 Redis消息队列、基于 Redis的EIL应用和基于 Redis的机器学习等
First published in the English language under the title 'Mastering Redis
本书简体中文版专有出版权由 Packt Publishing授予电子工业出版社。未经许可,不得以任何方式复
制或抄袭本书的任何部分。专有出版权受法律保护
版权贸易合同登记号图字
167238
图书在版编目(c|P)数据
深入理解 Redis/(美)杰里米·尼尔森( Jeremy Nelson)著:汪佳南译.一北京:电子工业出版社,20174
书名原文: Mastering Redis
ISBN978-7-121-312014
①深…Ⅱ.①杰…②汪…Ⅲ.①数据库一基本知识Ⅳ.①TP31.138
图书馆CP数据核字(2017第065890号
怅春雨
责任编辑:郑柳洁
印刷:北京中新伟业印刷有限公司
装订:北京中新伟业印刷有限公司
出版发行:电子工业出版社
比京市海淀区万寿路173信箱邮编:100036
开本:787×9801/16印张:20字数:416千字
版次:2017年4月第1版
印次:2017年4月第1次印刷
凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系
联系及邮购电话010)88254888,8825888
质量投诉请发邮件至zt
mcn,盗版侵权举报请发邮件至dbqq@ph
本书咨询联系方式:010-5126088819,faq@phei.com.cn
译者序
对不少互联网企业来说,使用LNMP架构可以快速搭建起一套系统,产品可以迅速迭
代并尽早投放市场。但随着访问量
那些使用传统关系型数据库(例如 MySQL)的
网站开始显现出性能方面的问题。此外,越来越挑剔的用户也要求网站不能仅专注于功能
特性,同时也要追求极致的产品体验(即高性能和高可用)
方面,架构师会在数据库层面做以下一系列优化。
1.配置主从
例如。为 MySQL服.务.器配置主从。一台宕机,另一台可以顶上继续服务,以满足高
可用的要求
2.读写分离
配置一主多从。因为一般系统80c?请求都是读取操作,将这些操作分发到从服.务.器
上可以有效地提升网站响应速度。
分库分表
随着数据量的增长,单库单表已经难以满足要求。一些诸如TDDL、 Cobar、 MyCAT
等的 MySQL分布式数据库中间件应运而生
另一方面,架构师也会通过系统化的分析,以安插缓存层的方式缓解数据库的压力
对应用系统来说,缓存都应在设计之初就纳人考虑的范畴,成为系统不可或缺的一部分
我曾供职的一家公司就采用 Redis作为缓存的实现方案。应用程序运行在两个同等的 Tomcat
容器里。 Tomcat之前则配置了一台 Nginx用于 Load Balance由于用户 Session存储在 Redis
中(通过 Spring和 Shiro的简单配置即可实现),应用的无状态性使得系统可以很方便地进
行水平扩缩。另外,我们的业务要求用户每次浏览某个项目页面时进行访问计数( counting
深入理解 Redis
为了避免频繁的数据库读写,我们将每个项目的浏览量的计算和读取交给了 Redis。同时,
为了避免意外导致的数据丢失,我们开启了 Redis的持久化功能,并启动定时任务,每隔
段时间就将项目浏览次数同步到数据库中
至于为何选择 Redis而没有选择 Memcached,当时考虑的主要原因是Reds支持更为
丰富的数据模型。像上述页面访问量计数的需求,可以直接通过 Redis的命令进行操作
且利用 Redis的单线程模型,应用程序无须编写同步代码。当然,缓存
edis的其中
一个用途。一些典型的场景还包括排行榜、用户访问量统计、集合运算、消息队列等。guo
内外的一些大型互联网企业(例如京东、新 浪、 Interest等)都对 Redis有不同程度的部署
和应用。希望读者能够在本书中找到自己想要的答案。
每次翻译都带给我不同的体验,并为我的工作和生活带来改变。在此,我要感谢电子
工业出版社的编辑张春雨和负责审校的同事,是你们的细心指导保证了本书的翻译质量
同时,感谢我的父母和我的太太,在你们的陪伴和支持下,我得以专心工作。
由于时间仓促,文中难免有所疏漏,望不吝斧正
汪佳南
关于作者
Jeremy Nelson是科罗拉多斯普林市的一所四年制私立文理学院科罗拉多学院的一位
元数据和系统图书管理员。除了每周8小时的图书馆研究技术支持工作,为大学生提供信
息素养指导,并监督图书馆的系统和编目部门这三项工作之外, Nelson正在积极研究和开
发 Catalog Pull平台中的各种组件和开源工具,供科罗拉多大学、科罗拉多州研究图书馆联
盟和guo会图书馆使用。他还是语义网络初创公司 Knowledge Links.io的联合创始人和CTo。
他之前在西部州科罗拉多大学和犹他大学有过图书馆工作经验。在成为图书管理员之
前,他曾在各种软件公司和金融服务机构中担任程序员和项目经理。他的第一本书 Becoming
a Lean library于2015年出版,将精益创业和精益制造理念应用于图书馆和图书馆的运营
Nelson从诺克斯学院获得了本科学位,并从 University of Illinois Urbana- Champaign获得了
图书馆和信息科学的科学硕士学位
|
|