News for hackers. Stuff that matters.
Re:Show HN: I built a Ruby gem that handles memoization with... by hp_hovercraft84 on Tuesday April 22, 2025 @01:55PM (#43764688)
Good question. I built this gem because I needed a few things that Rails.cache (and Redis) didn’t quite fit:

- Local and zero-dependency. It caches per object in memory, so no Redis setup, no serialization, no network latency. -Isolated and self-managed. Caches aren’t global. Each object/method manages its own LRU + TTL lifecycle and can be cleared with instance helpers. - Easy to use — You just declare the method, set the TTL and max size, and you're done. No key names, no block wrapping, no external config.

Re:Show HN: I built a Ruby gem that handles memoization with... by JamesSwift on Tuesday April 22, 2025 @02:54PM (#43765146)
For what its worth, ActiveSupport::CacheStore is a really flexible api that gives minimal contractual obligations (read_entry, write_entry, delete_entry is the entire set of required methods), but still allows you to layer specific functionality (eg TTL) on top with an optional 'options' param. You could get the best of both worlds by adhering to that contract and then people can swap in eg redis cache store if they wanted a network-shared store.

EDIT: see https://github.com/rails/rails/blob/main/activesupport/lib/a...

Re:Show HN: I built a Ruby gem that handles memoization with... by hp_hovercraft84 on Tuesday April 22, 2025 @10:04PM (#43768035)
That's actually a really good idea! I'll definitely consider this in a future update. Thanks!