There are only two hard things in Computer Science: cache invalidation and naming things. – Phil Karlton
I’ve recently been working on a Rails project that uses a lot of cached resources: keys, views, json and many more.
As this information is scattered throughout the codebase using
Rails.cache, it was becoming increasingly difficult to understand what was being cached, which keys were being used and how to quickly manage this information.
Here is a list of the current features:
- List all cached entries (paginated)
- Inspect a single entry with formatted content
- Search for a specific entry via its key
- Invalidate one or multiple keys at a time
- Stats on number of entries set
In the future I’m planning to add:
- Cache groups
- Edit invalidation time
- API’s to access cache information
- More stats (eg. number of entries expiring today, memory usage, etc)
FastEntry is open-source and available at https://github.com/alvesjtiago/fastentry.
If you’re building a Rails application and want to easily manage cache give it a try and let me know what you think at @alvesjtiago or directly through the project’s repository issues.