2019-03-30 13:56  阅读(3420)
文章分类:Redis 源码日志 文章标签:RedisRedis源码
©  原文作者:郑思愿 原文地址:http://daoluan.net

作者:郑思愿

出处:http://daoluan.net


大学的时候我们都学过一种数据结构——哈希表,查询效率非常高,复杂度为 O(1),通常关注查询性能的地方都会用到这个东西。

redis.png

缓存系统,就是一个哈希表。只是通常哈希表的场景都是在本机,把哈希表放到远程的机器上,本机通过网络访问(增删查改)哈希表,就成了现在的缓存系统了。

我们还可以尝试强化这个哈希表,比如支持存储各种类型的数据;存储有价值数据的哈希表时,需要定时备份这个哈希表;访问的频率太大了,需要将数据分散到多个远程的哈希表中;远程的哈希表节点多了,又该如何管理他们等等。

所以缓存系统只是哈希表的一种延伸,它只是一种数据结构的应用。同样,Redis 也是。

这一章带大家大概浏览一下 Redis。

Redis 在缓存系统所处的位置

通常,在系统中,我们会把数据交由数据库来存储,但传统的数据库增删查改的性能较差,且比较复杂。根据 80/20 法则,百分之八十的业务访问集中在百分之二十的数据上。是否可以有一个存在于物理内存中的数据中间层,来缓存一些常用的数据,解决传统数据库数据读写性能问题。常用的数据都存储在内存中,读写性能非常可观。

redis1.png

这种思维在计算机中很常见,之前学习计算机系统的时候就有见过这张图:越往上层的存储设备,存储的速度就会更快。诸如,Redis, Memcache 是将可访问的数据存储在内存中,可见它们可以弥补传统数据库的不足。

redis2.png

包括 Redis/Memcache 这样的 key-value 内存存储系统,非常适合于读多写少的业务场景,而 Redis 是一个基于多种数据结构的内存存储系统,让缓存系统更加好玩。

点赞(3)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> 【Redis 源码日志】--- 初探 Redis
上一篇
【Redis 源码日志】--- 简介
下一篇
【Redis 源码日志】--- Redis 事件驱动详解