In this document, you’ll learn about Cache Modules in Medusa, how they work, and which modules Medusa provides.
Cache is used in Medusa to store the results of computations such as price selection or various tax calculations. The caching layer in Medusa is implemented as a module. This allows you to replace the underlying database/cache store in your project.
Modules are packages that export a service. The main service exported from a cache module has to implement the
ICacheService interface exported from the
During the app startup, the modules loader will load the service into the dependency injection container to be available as
cacheService to the rest of the commerce application.
Medusa default starter project comes with the in-memory cache module (
@medusajs/cache-inmemory). In-memory cache uses a plain JS Map object to store data, which is great for testing and development purposes.
For production environments, there is the Redis cache module package (
@medusajs/cache-redis) that you can install.
Learn how to install and use the Redis Module
Learn how to install and use the In-Memory Module
Developers can create custom cache modules to implement their custom cache logic. The module can be installed and used in any Medusa backend.
Learn how to create a cache module in Medusa.