fra*_*yer 7 caching ruby-on-rails
我有一个rails应用程序,我想同时使用memcached和文件存储缓存,用于不同的目的.
我想使用文件存储缓存来保留大量不经常更改的页面(有些根本不会更改) - 即页面缓存 - 并使用memcached进行其他操作(操作和数据库缓存等).原因是存储在文件存储缓存中的页面可能需要大量存储空间,但是大多数存储单元很少会被访问.
这是可能的,还是将memcached配置为缓存意味着它还用于页面缓存?
作为第二个问题,在某种形式的cron作业中从文件存储缓存中删除页面的安全方法是什么,因为似乎没有为此缓存指定ttl的选项.例如,UNIX查找命令可以快速查找并删除长时间未访问的所有旧页面或页面 - 如果应用程序服务器可能尝试在此时为其中一个页面提供服务,这样做是否安全(tho)这是不太可能的)?如果没有,那么最好的方法是什么.
如果您只想使用文件系统进行页面缓存,使用 memcached 进行操作和片段缓存,那么没问题。页面缓存始终使用文件系统。请记住,页面缓存会绕过 Rails 应用程序,因此您不能将其用于包含因用户而异的内容的页面或使用过滤器进行访问控制的页面。
关于页面的删除,在 Unix 上,可以删除文件,但直到所有打开的文件句柄都关闭后,它才真正从磁盘中删除。如果应用程序服务器已打开文件来处理请求,并且 find 命令稍后将其删除,则应用程序服务器在尝试读取时不会突然收到错误。
您还可以考虑find根据上次访问时间删除文件,而不是创建或修改文件,并在 Rails 应用程序中使用清理器在内容过期时删除缓存的页面。
| 归档时间: |
|
| 查看次数: |
1227 次 |
| 最近记录: |