栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Redis vs Disk在缓存应用程序中的性能

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Redis vs Disk在缓存应用程序中的性能

这是苹果与桔子的比较。参见http://redis.io/topics/benchmarks

Redis是高效的 远程
数据存储。每次在Redis上执行命令时,都会向Redis服务器发送一条消息,如果客户端是同步的,它将阻止等待答复。因此,除了命令本身的成本之外,您还需要支付网络往返费用或IPC费用。

在现代硬件上,与其他操作相比,网络往返或IPC的费用高得惊人。这是由于以下几个原因:

  • 介质的原始延迟(主要用于网络)
  • 操作系统调度程序的延迟(在Linux / Unix上不保证)
  • 内存高速缓存未命中的代价很高,并且在客户端和服务器进程被安排进/出时,高速缓存未命中的可能性增加。
  • 在高端包装盒上,NUMA副作用

现在,让我们回顾一下结果。

比较使用生成器的实现和使用函数调用的实现,它们不会生成相同数量的Redis往返。使用生成器,您只需:

    while time.time() - t - expiry < 0:        yield r.get(fpKey)

因此,每次迭代1次往返。使用此功能,您可以:

if r.exists(fpKey):    return r.get(fpKey)

因此,每次迭代2次往返。难怪发电机会更快。

当然,您应该重用相同的Redis连接以获得最佳性能。运行系统地连接/断开连接的基准毫无意义。

最后,关于Redis调用和文件读取之间的性能差异,您只需将本地调用与远程调用进行比较。文件读取由OS文件系统缓存,因此它们是内核和Python之间的快速内存传输操作。此处不涉及磁盘I
/ O。使用Redis,您必须支付往返的费用,因此速度要慢得多。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/390924.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号