【Redis 源码日志】— 初探 Redis

撸了今年阿里、腾讯和美团的面试,我有一个重要发现…….

作者:郑思愿

出处:http://daoluan.net


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

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

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

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

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

Redis 在缓存系统所处的位置

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

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

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

赞(3) 打赏

如未加特殊说明,此网站文章均为原创,转载必须注明出处。Java 技术驿站 » 【Redis 源码日志】— 初探 Redis
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

关注【Java 技术驿站】公众号,每天早上 8:10 为你推送一篇技术文章

扫描二维码关注我!


关注【Java 技术驿站】公众号 回复 “VIP”,获取 VIP 地址永久关闭弹出窗口

免费获取资源

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏