amne / simple-cache-layers
PSR16实现,可以读取和写入由其他PSR16实现构建的分层缓存
v0.1
2024-05-23 14:01 UTC
Requires
- psr/simple-cache: ^3.0
Requires (Dev)
- matthiasmullie/scrapbook: ^1.5
- phpunit/phpunit: ^11.1
This package is not auto-updated.
Last update: 2024-09-30 10:35:56 UTC
README
这是一个充满乐观的PSR-16分层缓存实现。它假设缓存用于速度而不是像节流、会话等重要事物。
如何实现?
层也是PSR-16实现。这意味着分层缓存的每个方法都会根据期望的结果委派给所有层
get()
和getMultiple()
将从第一个包含该值的层返回值。当在“较低”层找到值时,它会同步回所有“较高”层set()
和setMultiple()
将从“最低”层开始存储值- 为所有存储的键创建一个带有
-layer-meta
后缀的伴随键,以跟踪创建时间和第一个TTL。这些信息在同步回时使用。 - 充满乐观:当事情失败时没有回滚逻辑。如果你在中间层设置一个键并失败,它就会停止。这应该没问题,因为
set()
从最低层开始,下一个get()
将触发同步回
为什么?
在分布式环境中,始终外出网络读取集中式缓存可能会成为瓶颈。使用短TTL将一些信息本地存储(在APC或甚至是文件系统中),几乎可以像只本地缓存一切一样快速运行,但仍能保持像redis/memcache/couchbase这样的集中式缓存所提供的控制。