Redis 缓存与直接使用内存

2023-12-02

我还没有使用过Redis,但我听说过它并计划尝试使用它来缓存数据。

我听说Redis使用内存作为缓存存储数据库。既然我可以使用对象或字典来存储数据,那么 Redis 的意义何在?像这样:

var cache = {
    key: {
    
    },
    key: {
    
    }
    ...
}

使用Redis有什么优点?


Redis 是一个remote数据结构服务器。它肯定比仅将数据存储在本地内存中慢(因为它涉及套接字往返来获取/存储数据)。然而,它也带来了一些有趣的特性:

  • Redis 可以被应用程序的所有进程访问,可能运行在多个节点上(本地内存无法实现)。

  • Redis 内存存储非常高效,并且是在单独的进程中完成的。如果应用程序在内存被垃圾收集的平台上运行(node.js、java 等),则它允许处理更大的内存缓存/存储。实际上,非常大的堆在垃圾收集语言中表现不佳。

  • 如果需要,Redis 可以将数据保存在磁盘上。

  • Redis 不仅仅是一个简单的缓存:它提供各种数据结构、各种项目驱逐策略、阻塞队列、发布/订阅、原子性、Lua 脚本等......

  • Redis 可以通过主/从机制复制其活动,以实现高可用性。

基本上,如果您需要应用程序在共享相同数据的多个节点上进行扩展,那么将需要 Redis(或任何其他远程键/值存储)之类的东西。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Redis 缓存与直接使用内存 的相关文章

  • 返回导航缓存 - IE

    当我在 IE 11 上运行 Web 应用程序时 收到如下警告消息 DOM7011 此页面上的代码禁用了后退和前进缓存 为了 更多信息 请参阅 http go microsoft com fwlink LinkID 291337 http g
  • APC 将数据存储在哪里?

    我想用apc store 缓存一些结果 但我需要知道数据将存储在哪里 以及限制是什么 它总是存储在内存中吗 或者也写入磁盘 我希望将不经常访问的数据存储在磁盘上 我应该为此使用不同的缓存系统吗 这就是极限了吗 apc shm size 32
  • 寻找简单的Java内存缓存[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个简单的Java内存缓存 它具有良好的并发性 因此LinkedHashMap不够好 并且可以
  • 已删除的类实例上的方法仍然有效吗?

    我在 Visual C 2010 上有这段代码 include
  • Java 中内存高效的稀疏数组

    关于时间高效的稀疏数组存在一些问题 但我正在寻找内存效率 我需要相当于List
  • 打包布尔数组需要通过 int (numpy 1.8.2)

    我正在寻找更紧凑的方式来存储布尔值 numpy 内部需要 8 位来存储一个布尔值 但是np packbits允许打包 他们 这真是太酷了 问题是要打包在4e6字节数组a32e6字节我们需要首先使用的布尔值数组256e6字节将布尔数组转换为
  • 估计 libGD 操作所需的内存

    在尝试使用 libGD 在 PHP 中调整图像大小之前 我想检查是否有足够的内存可用于执行该操作 因为 内存不足 会完全终止 PHP 进程并且无法捕获 我的想法是 原始图像和新图像中的每个像素 RGBA 需要 4 字节内存 check av
  • C++ 类的互斥成员导致编译错误

    我不确定为什么当我向 myClass 添加互斥体成员时会发生这种情况 在本例中为 mu Error C2661 std tuple lt void thiscall MyNameSpace myClass void MyNameSpace
  • 在 MVC 应用程序中配置 NHibernate 二级缓存

    我有一个使用 NHibernate 的 MVC3 应用程序 一切都很顺利 直到我开始尝试添加二级缓存 浏览网页几个小时后 我终于找到了我认为正确的 dll NHibernate Caches SysCache2 dll 并将其添加到我的项目
  • 在 Spring Boot 中重新加载/刷新缓存

    我正在使用 Spring Boot 对于缓存 我使用 Ehcache 到目前为止一切正常 但现在我必须重新加载 刷新 那么我该如何执行此操作 以便我的应用程序不会出现任何停机时间 我在Spring Ehcache中尝试了很多方法 但它不起作
  • 使@lru_cache忽略一些函数参数

    我怎样才能使 functools lru cache https docs python org 3 library functools html functools lru cache装饰器忽略一些与缓存键有关的函数参数 例如 我有一个如
  • Asp.net Mvc OutputCache属性和滑动过期

    Calling http foo home cachetest for UrlRoute Path home cachetest OutputCache Duration 10 VaryByParam none public ActionR
  • 在 asp.net mvc 3 中使用 Last-Modified 标头和 OutputCacheAttribute 进行客户端缓存

    Edited 我想在客户端缓存图像 并且知道在 mvc 3 中有不同的方法可以做到这一点 如果我错了 请纠正我 1 你可以使用OutputCacheAttribute其工作原理是Expireshttp 标头 但它会回来304 Not Mod
  • 在 python 中 pickling 数据时出现内存错误

    我正在尝试使用 python 中提供的 dump 命令将字典转储为 pickle 格式 字典的文件大小约为 150 mb 但仅转储 115 mb 的文件时会出现异常 例外情况是 Traceback most recent call last
  • 在Python中计算内存碎片

    我有一个长时间运行的进程 不断分配和释放对象 尽管正在释放对象 但 RSS 内存使用量会随着时间的推移而增加 如何计算发生了多少碎片 一种可能性是计算 RSS sum of allocations 并将其作为指标 即便如此 我该如何计算分母
  • 将文件传递给活动作业/后台作业

    我通过标准文件输入接收请求参数中的文件 def create file params file upload Upload create file file filename img png end 但是 对于大型上传 我想在后台作业中执行
  • iOS 解决方案仅当图像尚未使用 SDWebImage 缓存在内存中时才加载带有动画的图像

    我已经为这个问题苦苦挣扎了几天 以前我使用 AFNetworking 类别来加载和缓存图像 但它的回调中没有提供缓存类型 所以我过去常常在每个控制器中跟踪哪些图像已经加载 我浏览了 SDWebImage 它提供了我正在寻找的东西 SDIma
  • Redis 在键过期时更新排序集

    我有一个 Redis 服务器 其中包含一组键值对和一个排序集 提供这些键值对的键的索引 键值对可以进入 已完成 状态 此时需要在 1 小时后删除它们 这可以通过在键上设置到期时间来简单地实现 但从排序集中清除它们似乎更成问题 我可以有一个过
  • 将代码保存在 L1 缓存中

    我一直在阅读维基百科关于 K 编程语言的文章 http en wikipedia org wiki K programming language Performance characteristics这就是我所看到的 解释器的小尺寸和语言的
  • AS3 内存泄漏示例

    有人可以发布一个 as3 代码的示例 特别是包括事件侦听器 这将是一个可能泄漏内存的简单示例 也希望您能发布所显示问题的解决方案吗 问题是 AS3 事件监听器中内存泄漏的一个简单示例是什么 如何解决它 public class MySpri

随机推荐

  • 为什么实体框架调用我的存储过程但返回不正确的值?

    我有一个存储过程 它只是返回记录总数除以传入的任何值 这有助于网站上的分页 但是 我正在使用实体框架绑定到该存储过程并且它返回 1对于所有对它的调用 当我使用 SQL Management Studio 询问存储过程时 它会返回正确的值 我
  • 自动类型推导中的常量

    我正在阅读 Scott Meyers 的 Effective Modern C 第 1 项包含以下示例 template
  • 小胡子和哈姆尔

    我有这个 haml mustache 模板 data ok items item b ID id item items data 我有Illegal nesting nesting within plain text is illegal
  • 条件资源创建 WPF XAML 设计/运行时

    继第一个问题之后WPF 级联绑定 我说我有资源多于预期两者中都定义了主窗口和用户控件 这在Snoop the 主窗口 XAML有一个 MainWindow ViewModel 的 实例 用于绘制 2 个用户控件green and blue
  • map[string]*type“无效的内存地址或零指针取消引用”

    当我尝试访问结构字段时出现错误 无效的内存地址或 nil 指针取消引用 gdreport main go 30 0x1e6 我不知道这个错误 这是我的代码 var strPtr string var findingId string str
  • 根据rtl或ltr语言自动设置方向和文本对齐

    我们可以设置direction财产为body指示方向的标签rtl to ltr 同样我们可以设置text align各个元素的属性 有没有什么方法可以最小化或集中编码工作来设计一个可以同时支持这两种功能的应用程序LTR 英语 和RTL 阿拉
  • Drive API - 下载/上传 sql 数据库

    我目前正在下载我使用驱动 API 上传的 SQL 数据库 肯定有一个备份 但是当我尝试打开该文件时 我收到一条错误消息 指出该文件无法打开 EDIT 我解决了上面的问题 现在我想最终上传和下载sql数据库 我在互联网上找到了可以下载和上传的
  • 一种在Python中从数据对创建簇的算法

    我正在寻找一种智能算法或Pythonic 方法来从数据对创建集群 输入数据的结构如下 productA ProductB productB ProductC productC ProductD productA ProductD produ
  • Bokeh DataTable 在触发(“更改”)后不会更新,无需单击标题

    散景版本 0 10 蟒蛇 3 4 木星 4 x 目标 创建一个仅显示从散点图中选择的数据的表 问题 DataTable 仅在单击后才刷新 尽管 s2 trigger change 在 Bokeh 网站的其他示例中 一 绘图将使用此技术更新另
  • justify-content:第一个和最后一个项目之间的间距也相同[重复]

    这个问题在这里已经有答案了 我想使用 flexbox 来设置一个简单的弹性 网格 container display flex flex wrap wrap justify content space between but 我希望外边距等
  • .xcconfig?如何设置环境变量

    我是 Xcode 新手 在过去的两天里 我试图弄清楚如何在访问网络服务的 iPhone 上测试我的应用程序 在模拟器上 我可以使用硬编码的 localhost 变量 但我不想硬编码所有配置设置 我正在使用 Swift Xcode 6 但我认
  • 数组初始化之间的差异

    请参阅以下声明 char a 5 jgkl let s call this Statement A char b jhdfjnfnsfnnkjdf let s call this Statement B and yes i know thi
  • 基于相似单词序列的字符串聚类

    我正在寻找一种有效的方法 根据相似单词序列的出现将大约 1000 万个字符串聚类成簇 考虑一个字符串列表 例如 the fruit hut number one the ice cre am shop number one jim s ta
  • JPEG: YCrCb <-> RGB 转换精度

    我已经使用 JPEG 转换公式实现了 rgb gt ycrcb 和 ycrcb gt rgb 转换 http www w3 org Graphics JPEG jfif3 pdf 同样在 http en wikipedia org wiki
  • webview 未在 javafx 中打开弹出窗口

    我正在尝试使用 javafx 在 webview 中打开网页 单击超链接时 此网页将打开一个新的弹出窗口 我如何打开新的弹出窗口 当尝试在默认网络浏览器 如 chrome IE 中打开相同的网页时 它们会打开弹出窗口 为了创建弹出窗口 我使
  • PHP:将接口作为参数传递

    在 NET 中 我将接口作为类方法中的参数传递 我想知道PHP可以实现吗 我的场景是我有一个处理 mqin 系统功能的类 现在我想将通知系统与其集成 我想将通知系统分开 因为它不是系统的主要部分 而且我可以在其他地方使用它 如果我有以下结构
  • ORA-00913 值太多

    我有这个查询 INSERT INTO hist museum SELECT from of owner museum al JOIN SELECT vd city data id FROM of owner city data vd WHE
  • 如何在鼠标移动窗口时接收通知?

    I tried setFrame display and windowDidMove 但移动窗口时不会发送它们 如果你想追踪NSWindow现场搬家 默认情况下是不可能的 您必须自己完成 可以在以下情况下收到通知NSWindow开始拖动 移
  • 全屏显示图像

    我正在研究Windows Phone 8 app并在 XAML 中有一个像这样的图像视图
  • Redis 缓存与直接使用内存

    我还没有使用过Redis 但我听说过它并计划尝试使用它来缓存数据 我听说Redis使用内存作为缓存存储数据库 既然我可以使用对象或字典来存储数据 那么 Redis 的意义何在 像这样 var cache key key 使用Redis有什么