使 Rails 缓存中的特定模型无效

2024-01-13

我使用 Rails 3 和 Memcached 来缓存一些模型。当模型更改时,我想使该记录的缓存失效。对于视图片段,我只是说expire_fragment("blah")。如何对我的模型执行此操作?我不想说Rails.cache.clear并失去一切。我想要类似的东西Rails.cache.invalidate("/users/5")。我怎么做?


您没有提到模型实际上在什么时候添加到缓存中。您可以尝试使用以下方法使模型缓存无效after_save hook.

class Model < AR::Base

  after_save :invalidate_cache

  private
  def invalidate_cache
     Rails.cache.delete("/users/#{self.id}")
     return true # recommended to return true, as Rails.cache.delete will return false if no cache is found and break the callback chain. 
  end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使 Rails 缓存中的特定模型无效 的相关文章

  • Rails 4.0 expire_fragment/缓存过期不起作用

    我一直在尝试使用 Rails 的缓存功能 但我无法使某些缓存片段过期 尽管它们似乎已过期 使用 Rails 教程网站中指出的 Russian Doll Caching 我正在使用此配置 我使release controller rb 控制器
  • 使用 Hibernate 作为 ORM 机制的 Web 应用程序中的 L1 和 L2 缓存有什么区别?

    我只想要一些有关使用 L1 缓存和 L2 缓存的标准用途的一般信息 我很好奇 因为我正在研究使用赤土陶器作为二级缓存的系统 并且我发现它也有一级缓存 L1 缓存是每个 Hibernate 会话都存在的缓存 并且该缓存不在线程之间共享 该缓存
  • 无法让 Azure 缓存正常工作。 “暂时出现故障,请稍后重试。”

    那么 今天我 安装了azure SDK 2 1 并且 使用单个 WorkerRole 创建了一个新项目 使用 NuGet 获取缓存包 将角色的缓存设置为 并置 在 app config 中将主机设置为 WorkerRole1 评论安全部分
  • 如何在高速缓存中存储图像

    我对此完全空白 我想从 URL 下载图像 并且必须将其存储在内部 以便下次我不需要连接到网络 而是从缓存中检索它 但我不知道该怎么做 谁能帮我提供一个代码片段 import java io BufferedInputStream impor
  • 新手:我的例子中的文本替换

    In my 红宝石 on Rails应用程序中 我的助手中有一个方法 它通过以下方式打开文件 content File open myfile txt The 文件内容就好像 my car my seat my age my son my
  • 如何在 Rails 中制作动态下拉菜单?

    我正在开发一个电子商务项目 其中将有用于选择尺寸的单选按钮 我有一个数量下拉菜单 我想根据用户所选尺寸的可用库存使此下拉列表动态化 谁能告诉我如何在 Rails 上做到这一点 不会用大量的 javascript 扰乱我的视图文件 如果您使用
  • Rails 日志太详细

    如何防止 Rails 记录过多日志 这是我的 production log 文件中的典型跟踪 许多部分 缓存命中 它在开发中很有用 但我不希望在我的生产环境中使用它 Started GET redirected true for 46 19
  • 如何在 Rails rspec 中测试 cookie 过期时间

    在 rspec 中设置 cookie 有很多困惑http relishapp com rspec rspec rails v 2 6 dir controller specs file cookies http relishapp com
  • Rails 3.2 开发模式不显示带有回溯等的完整错误页面

    我刚刚升级到 Rails 3 2 一切正常 除了错误页面不再显示正常的开发调试信息 相反 它显示标准生产错误页面 白色背景 中间有红色文本 很抱歉 出了点问题 我们已收到有关此问题的通知 我们会尽快查看 Rails 3 2 是否有新的设置或
  • 在 any() 语句中迭代一个小列表是否更快?

    在低长度迭代的限制下考虑以下操作 d 3 slice None None None slice None None None In 215 timeit any type i slice for i in d 1000000 loops b
  • 为什么 data.table `:=` 的 knit 缓存失败?

    这在精神上与this https stackoverflow com q 15267018 1900520问题 但机制上一定不同 如果您尝试缓存knitr包含一个块data table 分配然后它的行为就好像该块尚未运行 并且后面的块看不到
  • 如何在 Django 测试服务器中防止 HTTP 304

    我在 Django 中有几个项目 并且时不时地在一个和另一个之间交替 它们都有一个 media 路径 由django views static serve 并且他们都有一个 media css base css file 问题是 每当我运行
  • 我们能否知道回形针下载何时完成?

    我有一个应用程序 我需要知道用户的 Rails Paperclip 文件下载时间complete 我的应用程序设置为与 Amazon S3 交互 当用户收到完整的文件时 我需要运行 JavaScript 函数 我怎样才能做到这一点 跟踪天气
  • 如何使 Redis 缓存中数据层次结构(树)的部分内容无效

    我有一些产品数据 需要在 Redis 缓存中存储多个版本 数据由 JSON 序列化对象组成 获取普通 基本 数据的过程很昂贵 将其定制为不同版本的过程也很昂贵 因此我想缓存所有版本以尽可能进行优化 数据结构看起来像这样 BaseProduc
  • 为什么在读取字典时要锁定

    我对我正在阅读的一本关于线程的书 C 3 in a Nutshell 中的代码列表感到困惑 在 应用程序服务器中的线程安全 主题中 给出了以下代码作为 UserCache 的示例 static class UserCache static
  • Rails 3 Link_to:远程未触发 RJS

    我正在使用以下代码在 Rails 3 中设置 AJAX 操作 代码的 AJAX 部分似乎可以工作 但它没有请求正确的文件 而我的 respond to 为它提供常规 HTML 路由信息 resources zones do resource
  • 在私有控制器方法中返回redirect_to

    前言 我正在使用设备进行身份验证 我试图阻止未经授权的用户查看 编辑或更新其他用户的信息 我最关心的是用户将 DOM 中的表单修改为另一个用户的 ID 填写表单 然后单击更新 我已经专门阅读过 像下面这样的东西应该有效 但事实并非如此 SO
  • NSURLCache 不缓存

    我正在使用 Xcode 6 1 6A1030 iOS7 和 iOS8 模拟器 NSURLCache 似乎没有缓存任何东西 我使用 Cache Control 标头 我的服务器返回带有 max age 6000 的 Cache Control
  • Rails/Nginx 中的超时——最佳实践

    我正在开发一个应该在 Nginx 服务器上运行的 Rails 应用程序 根据输入 应用程序可能需要很长时间来处理请求 或者在出现错误时挂起 因此我想防止进程永远运行 除了确保客户端收到超时信号的 Nginx 配置之外 我想我可能仍然需要确保
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行

随机推荐

  • WinRT - 如何从导航历史记录中忽略或删除页面

    我的 WinRT Metro c xaml 应用程序中存在以下情况 用户启动应用程序 但他或她尚未登录 在菜单栏中 我有按钮将其导航到购物车 值得一提的是 无论登录 注销状态如何 他们都可以单击它 所以我有这个 Home Page gt L
  • 输入文件到达时如何启动批处理作业?

    我们有 Spring4 和 Spring Batch 3 我们的应用程序使用 CSV 文件作为输入文件 目前 我们使用 CommandLineJobRunner 和参数 包括要处理的文件的名称 从命令行手动启动作业 我想在输入文件到达受监视
  • opacity:0 与visibility:hidden 的效果完全相同吗

    如果是这样 它是否有效地弃用了visibility财产 我意识到 Internet Explorer 尚不支持此 CSS2 属性 布局引擎的比较 http en wikipedia org wiki Comparison of layout
  • 如何抓取给定时间段内的所有 subreddit 帖子

    我有一个功能可以抓取 2014 年 11 月 1 日到 2015 年 10 月 31 日期间比特币 subreddit 中的所有帖子 然而 我只能提取大约 990 个帖子 这些帖子只能追溯到 10 月 25 日 我不明白发生了什么 我在参考
  • 超时已过。在 Azure sql 上完成操作之前超时时间已过

    我需要在 windows azure 上的 global asax 应用程序启动事件上创建一个 sql 数据库 但是我收到此错误 Timeout expired The timeout period elapsed prior to com
  • 有没有办法查看进程每个核心的 CPU 使用率?

    我知道在 perfmon 中您可以看到每个核心的利用率 以及特定进程使用的总 CPU 量 然而 我似乎无法找到一种方法来查看进程使用了 多少CPU 按核心细分 有没有内置的方法来查看这些信息 有没有一种编程方式可以看到这一点 C 首选 我是
  • 如何在这段代码上应用 PyQt QThread

    coding utf 8 from PyQt5 QtWidgets import from PyQt5 QtCore import from PyQt5 QtGui import from PyQt5 uic import loadUiTy
  • 无法从其他子表单刷新子表单

    我有一个包含多个子表单的表单 当有人更改其中一个子表单的组合框中的值时 它需要刷新另一个子表单 我正在使用这段代码 但它不起作用 Forms frmDispatchPlanningSheet subfrmExtraDriversForPla
  • Java8 Lambda 和异常

    我想知道是否有人可以向我解释以下奇怪的现象 我正在使用 Java 8 更新 11 鉴于这个方法 private
  • 在运行时获取delphi记录中字段的偏移量

    给定一个记录类型 TItem record UPC string 20 Price Currency Cost Currency end 以及字段的名称作为字符串 如何获取该字段在记录中的偏移量 我需要在运行时执行此操作 要访问的字段的名称
  • 强制 git show 使用 vimdiff 显示 diff

    我该怎么做呢 通过进行更改后git config我可以使用 vimdiff 区分我的分阶段和提交的更改 但是当我这样做时git show我仍然看到旧的普通风格的差异 我该如何让它工作git show还有 尝试使用 git 别名 这是为了gi
  • conf.int 在 3.3 中不再使用 ggplot2、stat_summary

    我正在使用 conf int 在抖动图周围创建框 在将 R 升级到 3 3 之前 这种方法一直有效 是否有已知的修复方法 stat sum df all lt function fun geom crossbar stat summary
  • 如何防止 ckeditor 不在空白 html 标签中添加

    我在 Windows 8 1 操作系统中安装了 Visual Studio 2012 Express 并根据要求在我的项目中使用 CKEditor 我是 CKEditor 的新手 也以正确的方式使用它 但问题是通过在 CKEditor 中的
  • 调用 locale.strxfrm 时 Unicode 字符不在范围内

    我在使用时遇到奇怪的行为locale具有 unicode 输入的库 下面是一个最小的工作示例 gt gt gt x U0010fefd gt gt gt ord x 1113853 gt gt gt ord U0010fefd 0X10fe
  • Created_at 保存时区错误

    我有一个 laravel 应用程序 我正在尝试将用户签入和签出保存到我 的数据库中 我有一个模型Checkins我将其记录为created at和updated at 在我的本地主机上 它保存了我的时区 埃及 的正确时间 我尝试更改app
  • Paypal 地址覆盖不起作用

    我已经设置了一个查询字符串来将信息传递到贝宝 除了地址覆盖功能之外 所有工作都正常 它不会自动使用表格中发布的新地址更新送货地址 我希望能够覆盖现有帐户和新帐户 代码如下 queryString cmd xclick queryString
  • 对于 Windows 有 Win32 API,那么对于 Mac 呢?

    对于 Windows 有 Win32 API 那么对于 Mac 呢 在维基百科上 http en wikipedia org wiki Cocoa API http en wikipedia org wiki Cocoa 28API 29
  • 在 python 中配置根记录器

    我的 Django 设置中有以下日志配置 LOGGING version 1 disable existing loggers False formatters verbose format levelname s asctime s na
  • 无法使用 flutter 中的 SAS 令牌上传到 azure 存储

    我正在尝试使用 SAS 令牌将文件 数据上传到 azure 存储 我使用以下方法成功地在没有 SAS 令牌的情况下实现了这一目标 sendToBlob Uint8List bytes async var storage AzureStora
  • 使 Rails 缓存中的特定模型无效

    我使用 Rails 3 和 Memcached 来缓存一些模型 当模型更改时 我想使该记录的缓存失效 对于视图片段 我只是说expire fragment blah 如何对我的模型执行此操作 我不想说Rails cache clear并失去