没有合适的资源?快使用搜索试试~ 我知道了~
首页Redis实战:Key-Value存储系统详解与快速入门
Redis实战:Key-Value存储系统详解与快速入门
5星 · 超过95%的资源 需积分: 12 30 下载量 29 浏览量
更新于2024-07-21
收藏 1.29MB PDF 举报
《Redis实战》是一本深入讲解Redis技术的实用指南,由红丸出品,主要针对的是Key-Value存储系统在现代互联网和云计算环境中的应用。本书首先从Key-Value存储系统的概述入手,介绍了Voldemort、Dynamo、memcached、Cassandra等类似技术,并强调了Redis选择的理由,包括其在大规模互联网应用、云存储和实际案例中的优势。 第1章重点是Redis的快速入门,包括如何安装和配置Redis,以及基本的数据类型如String、Set、Sorted Set、Hash和List的操作。例如,String类型提供了set、setnx(原子性设置)、setex(带过期时间的设置)等命令,用于管理键值对;Set类型支持添加、删除和检查元素是否存在;Hash类型则通过hset、hget等操作处理关联数据;List类型支持在两端添加元素,以及linsert这样的复杂插入功能。 书中还讨论了Redis的持久化策略,确保数据在服务器重启后不会丢失,以及主从同步机制,保证高可用性。此外,作者提到了Redis支持多种编程语言的API,使得它在不同的开发环境中都能轻松集成,并指出它适用于缓存、消息队列、排行榜等场景。 第二章详细介绍了Redis的数据类型及其操作,包括字符串、哈希表和列表的深入使用方法,展示了Redis的强大功能和灵活性。通过这些章节,读者可以掌握如何高效地使用Redis来管理和处理数据,提升应用程序的性能。 《Redis实战》是一本适合希望深入理解并学习Redis技术的开发者阅读的书籍,涵盖了从基础安装到高级操作的全面内容,有助于读者在实际项目中充分利用Redis的高效性和易用性。
资源详情
资源推荐
《红丸出品》 http://weibo.com/u/2446082491
12 / 71
和 GET(key) 等;
分布式:多台机器(nodes)同时存储数据和状态,彼此交换消息来保持数据一致,可
视为一个完整的存储系统。
数据一致:所有机器上的数据都是同步更新的、不用担心得到不一致的结果;
冗余:所有机器(nodes)保存相同的数据,整个系统的存储能力取决于单台机器(node)
的能力;
容错:如果有少数 nodes 出错,比如重启、当机、断网、网络丢包等各种 fault/fail 都
不影响整个系统的运行;
高可靠性:容错、冗余等保证了数据库系统的可靠性。
1.2.3 Redis 实际应用案例
目前全球最大的 Redis 用户是新浪微博,在新浪有 200 多台物理机,400 多个端口正在运行
着 Redis, 有+4G 的数据跑在 Redis 上来为微博用户提供服务。
在新浪微博 Redis 的部署场景很多,大概分为如下的 2 种:
第一种是应用程序直接访问 Redis 数据库
《红丸出品》 http://weibo.com/u/2446082491
13 / 71
第二种是应用程序直接访问 Redis,只有当 Redis 访问失败时才访问 MySQL
同时,Digg 的一项新功能,添加了对文章浏览数的显示,这一功能的一大卖点是其实时性。
《红丸出品》 http://weibo.com/u/2446082491
14 / 71
而支持此实时浏览量计数的,正是 Redis。
1.3 初识 Redis
Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、
Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware
主持。
1.3.1 数据类型
作为 Key-value 型数据库,Redis 也提供了键(Key)和键值(Value)的映射关系。但是,除
了常规的数值或字符串,Redis 的键值还可以是以下形式之一:
Lists (列表)
Sets (集合)
Sorted sets (有序集合)
Hashes (哈希表)
键值的数据类型决定了该键值支持的操作。Redis 支持诸如列表、集合或有序集合的交集、
并集、查集等高级原子操作;同时,如果键值的类型是普通数字,Redis 则提供自增等原子
操作。
1.3.2 持久化
通常,Redis 将数据存储于内存中,或被配置为使用虚拟内存。通过两种方式可以实现数据
持久化:使用截图的方式,将内存中的数据不断写入磁盘;或使用类似 MySQL 的日志方式,
记录每次更新的日志。前者性能较高,但是可能会引起一定程度的数据丢失;后者相反。
1.3.3 主从同步
Redis 支持将数据同步到多台从库上,这种特性对提高读取性能非常有益。
《红丸出品》 http://weibo.com/u/2446082491
15 / 71
1.3.4 性能
相比需要依赖磁盘记录每个更新的数据库,基于内存的特性无疑给 Redis 带来了非常优秀的
性能。读写操作之间有显著的性能差异。
1.3.5 提供 API 的语言
C
C++
C#
Clojure
Common Lisp
Erlang
Haskell
Java
Javascript
Lua
Objective-C
Perl
PHP
Python
Ruby
Scala
Go
Tcl
1.3.6 适用场合
毫无疑问,Redis 开创了一种新的数据存储思路,使用 Redis,我们不用在面对功能单调的数
据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用 Redis 灵活多变的数据结
构和数据操作,为不同的大象构建不同的冰箱。希望你喜欢这个比喻。
下面是 Redis 适用的一些场景:
1、取最新 N 个数据的操作
比如典型的取你网站的最新文章,通过下面方式,我们可以将最新的 5000 条评论的 ID 放在
Redis 的 List 集合中,并将超出集合部分从数据库获取。
使用 LPUSH latest.comments<ID>命令,向 list 集合中插入数据
插入完成后再用 LTRIM latest.comments 0 5000 命令使其永远只保存最近 5000 个 ID
然后我们在客户端获取某一页评论时可以用下面的逻辑
FUNCTION get_latest_comments(start,num_items):
剩余70页未读,继续阅读
楠317
- 粉丝: 37
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功