gpt4 book ai didi

ruby-on-rails - 如何在 Rails 中使用多个缓存?

转载 作者:行者123 更新时间:2023-12-04 12:38:38 24 4
gpt4 key购买 nike

我有一个 rails 应用程序,我想将 memcached 和文件存储缓存用于不同的目的。

我想使用文件存储缓存来保留大量不经常更改的页面(有些根本不更改) - 即页面缓存 - 并将 memcached 用于其他所有内容(操作和数据库缓存等)。原因是存储在文件存储缓存中的页面可能需要大量存储空间,但单独大多数将很少被访问。

这是否可以或将配置 memcached 作为缓存意味着它也用于页面缓存?

作为次要问题,以某种形式的 cron 作业从文件存储缓存中删除页面的安全方法是什么,因为似乎没有为此缓存指定 ttl 的选项。例如,UNIX find 命令将快速查找并删除所有旧页面或长时间未访问的页面 - 鉴于应用程序服务器可能会在当时尝试提供这些页面之一,这样做是否安全?这不太可能)?如果没有,那么最好的方法是什么。

最佳答案

一种更简单的方法可能是使用应用程序上游的 http 缓存作为页面缓存,而不是 Rails 中的两个存储。通过这种方式,您可以使用 http header 来控制缓存行为,包括 TTL。这些相同的限制也适用于浏览器的本地缓存,这是一个很好的奖励。

Varnish与它获得的性能一样高,但需要在您的托管环境中设置另一个移动部分作为代理。这可能仍然值得,这取决于你在做什么。

更简单的方法可能是 Rack::Cache ,如果您使用的是支持机架的版本 rails,这将很容易设置。

关于ruby-on-rails - 如何在 Rails 中使用多个缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/729670/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com