I've been writing Solon for a while now, and one thing that surprised me early on was how clean the caching layer is. Not because it does anything revolutionary — it doesn't — but because it stays out of your way while still handling the edge cases you actually hit in production.
Let me walk through what I've learned.
The Three Annotations
Solon gives you exactly three annotations for caching. No more, no less:
@Cache — read-through cache. If the key exists, return it; otherwise run the method and store the result.






