Multi-Layered Caching with Decorators in Elixir: Optimizing Performance and Scalability

This page summarizes the projects mentioned and recommended in the original post on dev.to

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
  1. cachex

    A powerful caching library for Elixir with support for transactions, fallbacks and expirations

    Cachex, the most popular Elixir caching library, offers a clustered cache option but lacks support for dynamic node configuration. This limitation becomes evident in environments like Fly.io, where nodes scale dynamically and their addresses aren’t known at startup. Engaging with the Fly.io community led me to an open issue on Cachex’s GitHub regarding dynamic node configuration. This search introduced me to Nebulex, a feature-rich library supporting multiple cache stores, including Cachex and Redis.

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. Nebulex

    In-memory and distributed caching toolkit for Elixir.

    Cachex, the most popular Elixir caching library, offers a clustered cache option but lacks support for dynamic node configuration. This limitation becomes evident in environments like Fly.io, where nodes scale dynamically and their addresses aren’t known at startup. Engaging with the Fly.io community led me to an open issue on Cachex’s GitHub regarding dynamic node configuration. This search introduced me to Nebulex, a feature-rich library supporting multiple cache stores, including Cachex and Redis.

  4. nebulex_redis_adapter

    Nebulex adapter for Redis

    Nebulex also supports various caching patterns out of the box. While setting up the Redis adapter for Nebulex, I encountered a blocker issue with Upstash Redis, revealing another limitation. Despite this, the exploration provided insights on constructing a layered caching solution using decorators a approach Nebulex uses.

  5. decorator

    Function decorators for Elixir

    Using Elixir's decorator library it as simple as writing it as such

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Avoid Trips To The Database With Nebulex - Phoenix Series

    1 project | dev.to | 2 Dec 2023
  • Unpacking Elixir: Concurrency

    9 projects | news.ycombinator.com | 25 Aug 2023
  • How to Cache Locally in Elixir with Nebulex

    1 project | dev.to | 10 Jan 2023
  • Should I use ETS or a GenServer when I just need a K/V store

    3 projects | /r/elixir | 10 May 2022
  • Show HN: Quite Fast, sharded cache for Go with LRU/LFU, TTL and object pooling

    1 project | news.ycombinator.com | 23 Jul 2025