在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
为什么要使用Redis?其实是因为Redis是一个性能强劲且具有复制特性的远程内存数据库,它的数据模型更是为解决问题而生。下面小编来详细解析一下Redis。
有memcached使用经验的人可能知道,用户只能用APPEND命令将数据添加到已有字符串的末尾。memcached的文档中声明,可以用APPEND命令来管理元素列表。这很好!用户可以将元素追加到一个字符串的末尾,并将那个字符串当作列表来使用。但随后如何删除这些元素呢?memcached采用的办法是通过黑名单(blacklist)来隐藏列表里面的元素,从而避免对元素执行读取、更新、写入(包括在一次数据库查询之后执行的memcached写入)等操作。相反地,Redis的LIST和SET允许用户直接添加或者删除元素。
使用Redis而不是memcached来解决问题,不仅可以让代码变得更简短、更易懂、更易维护,而且还可以使代码的运行速度更快(因为用户不需要通过读取数据库来更新数据)。除此之外,在其他许多情况下,Redis的效率和易用性也比关系数据库要好得多。
数据库的一个常见用法是存储长期的报告数据,并将这些报告数据用作固定时间范围内的聚合数据(aggregates)。收集聚合数据的常见做法是:先将各个行插入一个报告表里面,之后再通过扫描这些行来收集聚合数据,并根据收集到的聚合数据来更新聚合表中已有的那些行。之所以使用插入行的方式来存储,是因为对于大部分数据库来说,插入行操作的执行速度非常快(插入行只会在硬盘文件末尾进行写入)。不过,对表里面的行进行更新却是一个速度相当慢的操作,因为这种更新除了会引起一次随机读(random read)之外,还可能会引起一次随机写(random write)。而在Redis里面,用户可以直接使用原子的(atomic)INCR命令及其变种来计算聚合数据,并且因为Redis将数据存储在内存里面2,而且发送给Redis的命令请求并不需要经过典型的查询分析器(parser)或者查询优化器(optimizer)进行处理,所以对Redis存储的数据执行随机写的速度总是非常迅速的。
使用 Redis 而不是关系数据库或者其他硬盘存储数据库,可以避免写入不必要的临时数据,也免去了对临时数据进行扫描或者删除的麻烦,并最终改善程序的性能。虽然上面列举的都是一些简单的例子,但它们很好地证明了“工具会极大地改变人们解决问题的方式”这一点。
除了第6章提到的任务队列(task queue)之外,本书的大部分内容都致力于实时地解决问题。本书通过展示各种技术并提供可工作的代码来帮助读者消灭瓶颈、简化代码、收集数据、分发(distribute)数据、构建实用程序(utility),并最终帮助读者更轻松地完成构建软件的任务。只要正确地使用书中介绍的技术,读者的软件就可以扩展至令那些所谓的“Web扩展技术(web-sacle technology)”相形见绌的地步。
相信大家现在已经了解了Redis是什么、它的作用是什么以及为什么要使用它。不过实践出真知,要想真正掌握Redis,还是多多练习使用它吧!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Python学习总结之汉诺塔问题
在学习Python的时候,大家难免会遇到汉诺塔问题,这是在学习其他编程语言也绕不过去的经典问题之一。本文就带大家了解什么是汉诺塔问题,并为大家解决Python中的此类问题。感兴趣的小伙伴就赶紧看下去吧!
7684
2019-08-19 14:33:20
Python学习路线分享
随着程序员这个职业被越来越多人去选择,这个行业也开始变得吃香起来。很多人想从半路上开始学习,希望能在这个市场上多分一杯羹。学习python,不是一跃而成,而是先了解python,规划学习大纲。小编分享最全学习路线:让你下一秒变大神。
5069
2020-01-13 17:33:16
Python从入门到精通要掌握哪些基础知识?
Python作为一门编程语言,已经发展了近三十年,近几年,随着人工智能时代的来临分不开,python人才已经成为一线互联网企业的青睐的对象,Python爬虫也由此成为编程语言中的“网红”。
4330
2020-06-01 10:40:36
Python基础进阶需要掌握哪些知识点?
Python将是每个程序员的标配,有编程基础再掌握Python语言对于日后的升职加薪更有利。Python语言简洁利于理解,语法上相对容易能够让开发者更专注于业务逻辑的实现。学完Python可以从事web开发,爬虫开发、云计算,自动化运维,人工智能、桌面软件等多方面工作,目前市场需求很多发展机会很多。
4160
2020-08-24 16:59:28
如何使用Python发送MMS消息?
如何使用Python发送MMS消息?MMS(Multimedia Messaging Service多媒体消息服务)与文本消息基本相同,只不过嵌入了图像、视频或 PDF 文件等多媒体,可以通过文本消息发送这些多媒体。
3776
2022-02-16 15:50:21