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) 有41107人浏览
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;意思。如果虚拟世界...

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

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

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

  • 再来给世界建模

  • 现实世界到抽象世界

    当我们拿起一个苹果的时候,在我们内心中,会将这个物体抽象为:苹果,它具有圆圆的,带些红色的外表,可以吃,可以解?#23454;?#31561;。我们所认识的可以用来描述苹果的词汇,都是我们抽象出的概念。进一步可以说,我们所看到的,所听到的,所触到的,所嗅到的,所尝到的,范次种种都是我们抽象的概念。 人工智能是存在于抽象世界里,人类的智能就是建立在抽象世界上的,所以我们需要将现实世界转化为一个抽象世界。 我们抽象出了距离

  • 虚拟世界可以融入现实世界,但不能取代现实世界

    今天看到了美国MIT Media Lab(麻省理工学?#22909;?#20307;实验室)的天才学生普拉纳夫- (Prarnav Mistry),发明了一项结合实体世界和虚拟世界的科技。 [url]http://www.lah8.ooo/news/12856-Sixth-Sense[/url] 真的很棒,我想未来的趋势就应该这样,也许还可以更先进,通过虚拟世界现实世界的结合是多么的和谐啊。 《未来战...

  • 编程是现实世界的抽象

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

  • 黑客帝国里的真实世界

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

  • 信息是现实世界中各种事物的存在方式、运动形态以及它们之间的相互联系等诸要素在人脑中的?#20174;常?#36890;过人脑的抽象后形成概念。

    1.1.1 信息与数据 1.信息 信息是现实世界中各种事物的存在方式、运动形态以及它们之间的相互联系等诸要素在人脑中的?#20174;常?#36890;过人脑的抽象后形成概念。 2.数据 数据一般是指信息的一种符号化表示方法,就是说用一定的符号表示信息,而采用什么符号,完全是人为规定。所以数据的概念包括两个方面含义:一是数据的内容是信息,二是数据的表现?#38382;?#26159;符号。

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

  • 0001从现实对象到数学模型

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

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

  • 预见未来 | 计算机图形学:虚拟和现实世界的融合

  • 信息的三种世界

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

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

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

  • https://blog.csdn.net/cometwo/article/details/8288371

    2012年12月11日消息 ?#20004;瘢?#20114;联网仅有8,000天的历史,然而截至2020年,将有25亿用户和370亿终端设备联接到互联网。思科相信这仅仅是一个开始,在现实世界中仍有99%的事物没有与互联网联接,思科将在未来联?#27833;?#29289;。 “思科联所未连” 今天,思科启动了一场全球性的?#25918;?#20256;播攻势,旨在?#25925;?#24605;科如何通过联所未连创造奇迹,开创精彩无限的未来。 随着人员、流程、数据及事物彼此互联,

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

  • 物质世界与精神世界

    人类认识世界都是通过有限的感受器,如眼睛、耳朵、鼻子、皮肤等。通过这些感受器收到的信号,?#32531;?#22312;脑子里建立 各种模?#20572;?#20063;就是你的内心世界、精神世界。(你的世界观、价值观,对事物的看法,对事情的回忆等等) 世界是复杂的,人类只能通过有限的感官来认识世界,也可以通过机器(如?#29366;鎩?#30005;子显微镜、望远镜、电磁?#35762;?#20202;等)来拓宽?#29616;?#30340;途径。也就是为啥物理理论不断变革,亚里士多德-&amp;amp;amp;gt;伽利略和牛顿-&amp;amp;amp;gt;爱...

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