Repository navigation
[ Strata ] A feature-complete Laravel filesystem cache with tagged cache support #61724
Replies: 2 comments 1 reply
|
I was looking at the concurrency guarantees around
For example, if process A has acquired the lock for I’m wondering whether If the former is intentional, documenting that consistency boundary would be useful because the per-key atomicity guarantees are otherwise quite strong. |
|
That makes sense, and I agree that making My concern was less about making That seems like an important semantic detail worth capturing in the tests or documentation, especially since Thanks for clarifying — I hadn't considered the lazy tag-expiry path when looking at the interaction between writes and |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
One of the oldest issues in Laravel from 2014 was requesting tagging support for the Laravel filesystem cache (#3920).
This is still not solved idiomatically* in the framework or by third parties. The main reason was problems clearing the tagged cache.
*There are a couple of packages (mostly old) that aim to solve the issue, but the solutions weren't idiomatic regarding how tags were maintained and flushed.
The cache driver is important for two situations IMO:
For that reason, I released Strata, which is a drop-in replacement for the default filesystem driver with tagged cache support, isolated locks, and widened support for atomic operations.
Key Features:
Performance-wise, it is a bit faster for reads, especially for bulk reads. It has reduced overhead compared to the original version, and it checks cache eviction less eagerly. You can check the benchmark here, and the how it works wiki here.
All reactions