ntb/silverstripe-caching
增加缓存数据对象、函数结果和任意数据的支持。
这个包的官方仓库似乎已经消失,因此该包已被冻结。
0.1.9
2016-04-13 09:24 UTC
Requires
- php: >=5.3.2
- composer/installers: *
- silverstripe/framework: >=3.1.13
README
增加缓存数据对象、函数结果和任意数据的支持。
使用方法
与其他扩展类似,您可以通过以下代码将自动缓存对象的能力添加到您的YAML文件中。
Member:
extensions:
- CacheableExtension
建议您指定一个比Silverstripe默认缓存更好的缓存,因为它被配置为使用文件缓存后端。这可能比直接访问数据库要差得多。
工作原理
当通过<ClassName>::byID
或<ClassName>::byURL
请求数据对象时,缓存数据列表实现会检查请求对象是否标记为可缓存。如果是,则会请求缓存,只有在未找到任何内容的情况下才会访问数据库。在获取对象后,会获取每个has_one依赖项,并将结果存储在缓存中。
当应该删除数据对象或对象已被修改时,缓存条目将被清除或替换。