Conversation
There was a problem hiding this comment.
After reviewing this, it looks to me like this PR would remove the local caching. If so, this isn't the best way to change the library to solve our problem. There are three pieces of functionality the library appears to provide based on us examining it recently. It appears to:
- Cache things in Redis (its primary function)
- Cache things in local memory too (a secondary function, reducing stress on Redis)
- Schedule work "lazily" (as opposed to "eagerly") to refresh the cache before the value in it would become stale (another secondary function, which appears to be called "buffering" based on the readme)
It's that 3rd functionality that needs to be removed because we've decided it isn't compatible with the kind of systems we want to create going forward. That style of caching is great for situations where we don't need to invalidate the cache, but now we need to invalidate the cache on the hour. So we want something that will cache things in Redis (because we use a distributed system) and also store them in local memory for a little bit of time (like 500ms) just to smooth out the load on Redis.
No description provided.