pk10免费滚雪球计划 北京pk赛车人工计划 一分钟赛车是官方的吗 北京pk10数学天才揭秘 北京pk10网赌害人案例 北京pk10保罗软件计划 pk10模式长期稳赚6码 北京pk10公式大全 网络赛车赌博是骗局吗 北京pk赛车是不是真的 北京pk10八码公式教程 一无所有怎么白手起家 北京pk10正规平台平台 北京pk赛车历史开结果 pk10买8码杀2码好方法 北京pk10冠亚和值漏洞 正规北京pk赛车彩票 玩北京pk10输钱经历 北京pk10专家在线计划 北京pk赛车正规吗 北京pk10为什么不禁止 北京pk拾赛车有人赢吗 北京pk10代理违法吗 pk10挂机模式真的稳赢 pk10冠军固定公式软件 北京pk10如何看大小 北京pk哈赛车官方网站 北京pk10六码公式教程 pk10去一尾算法举例 北京pk10冠军5码方法
阅读更多

11顶
0踩

研发管理

转载新闻 Redis 在现实世界的 5 个用法

2018-04-11 11:19 by 副主编 jihong10102006 评论(3) 有29053人浏览
Redis是一个强大的内存数据结构存储,包含数据库,缓存和消息代理等多种用途。大多数人经常认为它不过是一个简单的键值存储,但其实它有更多的能力。下面我将会总结一些Redis可以做的事情的真实例子。

1.全页面缓存

首先是整页缓存。如果你正在使用服务器端呈现的内容,则不需要为每个单独的请求重新渲染每个页面。使用如Redis这样的缓存,你可以缓存经常请求的内容,从而大大减少请求最多的页面的延迟,并且大多数框架针对Redis缓存页面都有hooks。
简单命令
/ Set the page that will last 1 minuteSET key "<html>...</html>" EX 60// Get the pageGET key

2.排行榜

Redis令人耀眼的地方之一就是排行榜。由于Redis在内存中,因此可以非常快速和高效地处理递增和递减。将此与每个请求运行SQL查询比较,性能收益巨大!这与Redis的排序集相结合意味着你可以以毫秒为单位抓取列表中评分最高的项目,而且实现起来非常容易。
简单命令
// Add an item to the sorted setZADD sortedSet 1 "one"http:// Get all items from the sorted setZRANGE sortedSet 0 -1// Get all items from the sorted set with their score
ZRANGE sortedSet 0 -1 WITHSCORES

3.会话Session存储

我所见的Redis最常见的用途是会话存储。与其他会话存储(如Memcache)不同,Redis可以保留数据,以便在缓存停止的情况下,在重新启动?#20445;?#25152;有数据仍然存在。即便不是需要严格?#20013;?#30340;任务,此功能仍可以为你的用户省去大量的麻烦。没有人会乐于见到他们的会话被无缘无故随机删掉。
简单命令
// Set session that will last 1 minuteSET randomHash "{userId}" EX 60// Get userIdGET randomHash

4.队列

使用Redis可以做的一个不太常见,但非常有用的事情是排队。无论是电子邮件队列还是其他应用程序使用的数据,你都可以在Redis中创建一个高效的队列。任?#38382;?#24713;堆栈以及会push和pop项目的开发人员都可以轻松自然地使用此功能。
简单命令
// Add a Message
HSET messages <id> <message>ZADD due <due_timestamp> <id>// Recieving Message
ZRANGEBYSCORE due -inf <current_timestamp> LIMIT 0 1
HGET messages <message_id>// Delete  Message
ZREM due <message_id>HDEL messages <message_id>

5.pub/sub

Redis在真实世界的最终用法即我将在这篇文章中提出的pub / sub。这是Redis内置的最强大的功能之一;得到的可能是无限的。你可以创建一个实时聊天系?#24120;?#22312;社交网络上触发好友请求的通知等等。这个功能是Redis提供的最被低估的功能之一,但功能非常强大,而且使用简单。
简单命令
// Add a message to a channelPUBLISH channel message// Recieve messages from a channelSUBSCRIBE channel

结论

我希望你会?#19981;?#36825;些Redis在真实世界的使用。虽然这篇文章只抓住了Redis能为你做的事情的表面,但是我希望你能从中获得应如何充分利用Redis的启发。
  • 大小: 14.4 KB
来自: 代码技巧
11
0
评论 共 3 条 请登录后发表评论
3 楼 hongyabing 2018-05-02 15:25
2 楼 andy54321 2018-04-13 14:48
redis很强大。
尤其是结合 redis sentinel 和 3.x后支持 的 redis cluster。
1 楼 masuweng 2018-04-12 15:03
  

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Redis现实世界的 5 个用法(转)

    Redis是一个强大的内存数据结构存储,包含数据库,缓存和消息代理等多种用途。大多数人经常认为它不过是一个简单的键值存储,但其实它有更多的能力。下面我将会总结一些Redis可以做的事情的真实例子。? 1.全页面缓存?首先是整页缓存。如果你正在使用服务器端呈现的内容,则不需要为每个单独的请求重新渲染每个页面。使用如Redis这样的缓存,你可以缓存经常请求的内容,从而大大减少请求最多的页面的延...

  • 数据模型——从现实世界到信息世界——再到物理世界(设计数据库的整体思路)

    数据模型是对现实世界数据特征的抽象,说白了就是数据模型是用来描述数据、组织数据、操作数据的。 数据库模型是数据库系统的核心和基础。数据模型分类两类:①概念模型 也称之为信息模?#20572;?#23427;是站在用户的角度来对数据和信息建模的,主要用于数据库设计。 ②逻辑模型和物理模型 逻辑模型主要包括层?#25991;?#22411;、网状模型、关?#30340;?#22411;、等。而物理模型是对数据最顶层的抽象。 为了把现实世界中的具体事务抽象、组织为某一数

  • 现实世界与虚拟世界的差别在哪里

    现实世界与虚拟世界的差别在哪里     红朝儒生 2014-7-15   关键字:现实世界 虚拟世界 信息 无限 有限 简介:现实世界,与虚拟世界的真正差异,在于现实世界的信息量是无限的。更根本的差异,在于现实世界可以把无限化于有限。       最近看一个动画片,关于电脑游戏方面的。其中有一人问:现实世界与虚拟世界的差别在哪里?吾听了一愣,嗯?这个问题?#23454;?#26377;意思。如果虚拟世界...

  • 建议112:将现实世界中的对象抽象为类,将可复用对象圈起来就是命名空间

    建议112:将现实世界中的对象抽象为类,将可复用对象圈起来就是命名空间 在我们身边的世界中,对象是什么?对象就是事物,俗称“东西”。那么,什么东西算得上是一个对象呢?对象有属性、有行为。以动物为例,比如猫(Cat)。Cat可以有Name,这就是属性;Cat有一个恶习ScratchSofa(?#30001;?#21457;),这就是行为。我?#21069;?#36825;些属性和行为结合起来,就称为一个类?#20572;? class Ca

  • 编程是现实世界的抽象

    在我们的现实世界中,复杂而繁芜。然而,总会有聪明的人将现实世界具有相同特性的特征进行一定程度的抽象总结。这种抽象后的一种理解,能够被运用到各个方面。机器作为人类各种活动的放大器,能够更加方便或者高效的帮助我们完成一定的工作,特别是计算机的出现和快速发展,使人类的计算效率放大了无数倍。随着计算机的产生,编程也应运而生。编程作为一种规范和指引计算机行为的一种语言,能够让计算机按照我们的意愿去完成相应的...

  • 再来给世界建模

  • 对象——从现实世界的抽象(*)

    关键词: ? 对象 ? ?抽象 ? ?状态 ? ??#25104;?? ?静态 对象和类 对象一词,我?#24378;?#33021;会联想到一个物体。比如一支笔,一本书,等等。他们都可以称为对象。对象其实就是现实生活中常见的事物,每个事物都可以叫做对象。反过来讲,严格的说对象不能简单的叫做事物,它是对事物的统称。这是广义的对象。 在现实世界中,在我们人类的视角下,会对各种事物进行一个分类,比如动

  • 黑客帝国里的真实世界

    人类的科技文明发展到某一天,机器的人工智能已经开始超越了人所能控制的范围。于是,机器开始了挑战人类的战争,结果,机器打胜了。地球上的人类分成了两部分,一部分是被驱逐到地心深处一个名叫锡安(Zion)的溶洞中的地球原著民,他们继续在跟机器进行着战斗,试?#21363;?#27585;机器世界,重新获得地球的主宰权;另一部分则是机器的战利品,他们一生下来就被养在机器制造的试管中,?#19981;?#29983;长发育,只是他们并不知道过去曾经发生的一切

  • 游戏改变世界:游戏化如何让现实变得更美好

  • 如果说这个世界不是真实存在的,只是一段代码,迄今为止你发现了哪些bug?

    知乎上有一个这样的帖子,回答都蛮精?#23454;模?#19981;过有一个特别精彩,不明觉厉的赶脚! http://www.zhihu.com/question/20198823 摘贴如下: 刘斯翔,教法语的计算机专业毕业生,懂浪漫 张浩然、Si LA、凌小晨?等人赞同 给这个世界写代码的不是一个人,而是一个团队(这么大的项目,一个人开发不了)。而且?#29616;?#24576;疑这个一个开源项目。

  • 虚拟世界现实世界的未来

    基于现有科学技术来?#29616;?#34394;拟世界现实世界是可以统一的,?#27604;唬珹R也好,VR也好,VR+AR也好,这些技术都还处于发展的初期,但从科学?#29616;?#19978;?#27492;擔?#34394;拟世界现实世界实现转换,正如时空转换一样,这都是必然的发展结果。冷核聚变+量子计算+人工智能+仿生学的组合爆发将会彻底改变这个世界,昨天有位朋友说我们是早生了100年,我理解他的意思。因为100年后,按照现在的发展速度,我们是可以?#19978;?#30340;。不过我?#19988;?#36214;

  • https://blog.csdn.net/cxz1987/article/details/9799661

    1. 这边书是写给那些想干点什么事情,或者直接说是给想创业的人。 ??? 个人读完,挺有感触的,也觉得此书甚好。 ??? 写下此?#22987;牽?#21482;是为了让自己印象深刻一点,有所收获。 2. Ignore The Real World ??? 真实世界只是一个借口,只是为了不去尝试找借口。 ??? Learning from the mistakes is overrated. ??? 从失败中学

  • 信息的三种世界

    第三讲 信息的三种世界 教师课件搬运,非原创,今后也要好好加油~

  • ?#23545;?#24378;现实:融合现实与虚拟世界

    空间增强现实:融合现实和虚拟世界 2016年2月18日 ? ? ?上海普陀区 翻译:Taylor Guo 目录 1?????增强现实简介... 5 1.1??????什么是增强现实?... 5 1.2???????目前的挑战... 5 1.3??????空间增

  • ?#31243;窸OP与现实世界之间关系(面向对象的特征)

    面向对象程序设计语言(Object-Oriented Programming ,OOP)是一种用计算机表达现实世界的方式。从现实世界到能用计算机表述过程中抽象无处不在。 对象

  • https://blog.csdn.net/mjianglei/article/details/52329719

  • 智能工厂4.0:数字世界和物理世界的融合【附下载】

  • IBM分析大数据在现实世界中的应用

  • -未来世界的幸存者- 读后感(现实篇和职业篇)

  • 开放世界语义对本体构建的影响

    From orangebench(刘升平)看了些关于用OWL构建本体的讲义和教程,其中都会提到OWL的逻辑基础描述逻辑中的推理是基于开放世界假设(Open WorldAssumption)的,从而在构建本体时要特别注意这点。因此,我小小的总结一下,但并没有深入去研究开放世界语义,故不能保证正确性,?#38431;?#22823;家讨论。当我们对现实世界的问题做?#38382;交?#25551;述?#20445;?#19981;可避免地掌握的信

Global site tag (gtag.js) - Google Analytics 玩北京pk10久玩必输