Redis 的 5 个常见使用场景

Redis 的 5 个常见使用场景

提交

我的评论


加载中

已评论

Redis 的 5 个常见使用场景

2015-07-23

数据库开发
数据库开发

数据库开发

微信号
DBDevs

功能介绍
分享数据库相关技术文章、教程和工具,另外还包括数据库相关的工作。偶尔也谈谈程序员人生 :)


(点击上方蓝字,快速关注我们)

英文:Joe Engel

译者:伯乐在线-刘晓鹏

网址:http://blog.jobbole.com/88383/

点击“阅读原文”可查看本文网页版

在这篇文章中,我们将阐述 Redis 最常用的使用场景,以及那些影响我们选择的不同特性。

1、会话缓存(Session Cache)

最常用的一种使用Redis的情景是会话缓存(session cache)。用Redis缓存会话比其他存储(如Memcached)的优势在于:Redis提供持久化。当维护一个不是严格要求一致性的缓存时,如果用户的购物车信息全部丢失,大部分人都会不高兴的,现在,他们还会这样吗?

幸运的是,随着 Redis 这些年的改进,很容易找到怎么恰当的使用Redis来缓存会话的文档。甚至广为人知的商业平台Magento也提供Redis的插件。

2、全页缓存(FPC)

除基本的会话token之外,Redis还提供很简便的FPC平台。回到一致性问题,即使重启了Redis实例,因为有磁盘的持久化,用户也不会看到页面加载速度的下降,这是一个极大改进,类似PHP本地FPC。

再次以Magento为例,Magento提供一个插件来使用Redis作为全页缓存后端。

此外,对WordPress的用户来说,Pantheon有一个非常好的插件 wp-redis,这个插件能帮助你以最快速度加载你曾浏览过的页面。

3、队列

Reids在内存存储引擎领域的一大优点是提供 list 和 set 操作,这使得Redis能作为一个很好的消息队列平台来使用。Redis作为队列使用的操作,就类似于本地程序语言(如Python)对 list 的 push/pop 操作。

如果你快速的在Google中搜索“Redis queues”,你马上就能找到大量的开源项目,这些项目的目的就是利用Redis创建非常好的后端工具,以满足各种队列需求。例如,Celery有一个后台就是使用Redis作为broker,你可以从这里去查看。

4、排行榜/计数器

Redis在内存中对数字进行递增或递减的操作实现的非常好。集合(Set)和有序集合(Sorted Set)也使得我们在执行这些操作的时候变的非常简单,Redis只是正好提供了这两种数据结构。所以,我们要从排序集合中获取到排名最靠前的10个用户–我们称之为“user_scores”,我们只需要像下面一样执行即可:

当然,这是假定你是根据你用户的分数做递增的排序。如果你想返回用户及用户的分数,你需要这样执行:

ZRANGE user_scores 0 10 WITHSCORES

Agora Games就是一个很好的例子,用Ruby实现的,它的排行榜就是使用Redis来存储数据的,你可以在这里看到。

5、发布/订阅

最后(但肯定不是最不重要的)是Redis的发布/订阅功能。发布/订阅的使用场景确实非常多。我已看见人们在社交网络连接中使用,还可作为基于发布/订阅的脚本触发器,甚至用Redis的发布/订阅功能来建立聊天系统!(不,这是真的,你可以去核实)。

Redis提供的所有特性中,我感觉这个是喜欢的人最少的一个,虽然它为用户提供如果此多功能。

等等?

亲爱的读者,你是怎么认为的呢?你会在什么情况使用Redis呢?



数据库开发

微信号:DBDevs

打造东半球最好的 数据库 微信号

--------------------------------------

商务合作QQ:2302462408

招聘和猎头服务QQ:2302462408

投稿网址:top.jobbole.com


阅读原文

阅读

举报

微信扫一扫
关注该公众号

来自为知笔记(Wiz)

时间: 2024-08-03 15:22:44

Redis 的 5 个常见使用场景的相关文章

(转)Redis 的 5 个常见使用场景

在这篇文章中,我们将阐述 Redis 最常用的使用场景,以及那些影响我们选择的不同特性. 1.会话缓存(Session Cache) 最常用的一种使用Redis的情景是会话缓存(session cache).用Redis缓存会话比其他存储(如Memcached)的优势在于:Redis提供持久化.当维护一个不是严格要求一致性的缓存时,如果用户的购物车信息全部丢失,大部分人都会不高兴的,现在,他们还会这样吗? 幸运的是,随着 Redis 这些年的改进,很容易找到怎么恰当的使用Redis来缓存会话的文

Redis的那些最常见面试问题(转)

Redis的那些最常见面试问题         1.什么是redis? Redis 是一个基于内存的高性能key-value数据库. 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存.因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性 能最快的Key-Value DB. Redis的出色之处不仅仅是性能,Redi

Redis 的几种常见使用方式

常见使用方式 Redis 的几种常见使用方式包括: Redis 单副本 Redis 多副本(主从) Redis Sentinel(哨兵) Redis Cluster Redis 自研 各种使用方式的优缺点 Redis 单副本 Redis 单副本,采用单个 Redis 节点部署架构,没有备用节点实时同步数据,不提供数据持久化和备份策略,适用于数据可靠性要求不高的纯缓存业务场景. 优点: 架构简单,部署方便. 高性价比:缓存使用时无需备用节点(单实例可用性可以用 supervisor 或 cront

以《淘宝网》为例,描绘质量属性的六个常见属性场景

以<淘宝网>为例,描绘质量属性的六个常见属性场景. 1.可用性 可用性与系统故障及其后果相关.当系统不再提供其规范中所说的服务时,就出现了系统故障.系统用户可以观察到此类故障. 可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的 刺激源 用户 刺激 很多用户同时访问,系统出现崩溃 制品 系统 环境 正常操作 响应 系统检测到事件:记录故障,通知系统 响应度量 两分钟后,系统可以继续正常使用 2.可修改性 两个关注点:可以修改什么?何时

Consul实践之Consul常见应用场景及方案梳理(FAQ)

Consul实践之Consul常见应用场景及方案梳理(FAQ),这篇文章用来回答一些在文章<Consul实践之相关计划与相关问题>中提到的一些问题.本方案整理参考依据于<使用Consul和Registrator实现Docker容器服务发现>英文原文<SERVICE DISCOVERY FOR DOCKER CONTAINERS USING CONSUL AND REGISTRATOR>,方案的实施依据可以根据原文进行. 手动新增的服务节点是否可以自动发现? 将consu

属性常见属性场景

淘宝网质量属性常见属性场景 一.      可用性 可用性与系统故障及相关后果有关,当系统不在提供其规范中所说明的服务,就出现了系统故障.系统的用户可以观察到此类故障. 刺激源 系统外部 刺激 未曾预料的消息 制品 进程 环境 正常操作 响应 系统检测事件,通知用户 响应度量 继续正常使用 如用户进行注册登录时发生错误时,进行反馈. 二.      可修改性 1.        可以修改什么(制品)2.何时进行变更以及由谁进行变更(环境) 刺激源 系统开发人员 刺激 增加功能以及对于网站的界面更

Redis常用数据类型介绍、使用场景及其操作命令

Redis常用数据类型介绍.使用场景及其操作命令 本文章同时也在cpper.info发布. Redis目前支持5种数据类型,分别是: 1.String(字符串) 2.List(列表) 3.Hash(字典) 4.Set(集合) 5.Sorted Set(有序集合) 下面就分别介绍这五种数据类型及其相应的操作命令. 1. String(字符串) String是简单的 key-value 键值对,value 不仅可以是 String,也可以是数字.String在redis内部存储默认就是一个字符串,被

数据库常见的场景

作为一个开发人员,起初的开发场景可能涉及的比较专业的业务开发,但是我们也得了解一下数据库的一些常见的大数据处理的场景,普及一下计算机知识,以后会遇到类似场景,自己也可以实现这些东西. 主存同步:MS 场景:把A数据库的数据同步到B数据库 作用:备份,高可用,负载均衡 原理:binlog实时回复 双向同步:MM 与主存同步类似,仅仅是双工同步. 读写分离: 场景: 1.业务操作(生成数据或者修改删除数据在一个数据上进行) 2.查询操作(在另一个数据库上进行) 要点: 两个数据库之间的数据要一致,也

质量属性的六个常见属性场景

题目:以<淘宝网>为例,描绘质量属性的六个常见属性场景. 一.可用性 双十一光棍节购物,页面刷不出来 刺激源 用户 刺激 大量用户同一时间访问淘宝网,系统出现崩溃 制品 系统 环境 正常操作 响应 系统出现提醒:网络不好,请稍后再试 响应度量 三分钟后,系统可以继续正常使用,页面正常浏览 二.可修改性 淘宝网主页会根据用户平常的浏览改变主页 刺激源 开发人员 刺激 修改用户界面 制品 系统用户界面 环境 设计时 响应 进行修改且不会影响其他功能 响应度量 99.9%的修改都不影响其他功能 三.