* standard docs for caching module + deprecated cache module * added guides for creating + using, and overall changes from cache to caching * fix details related to redis provider * fix build errors * fix build error * fixes * add guides to sidebar * add sidebar util * document query + index * moved cache tag conventions * fix build errors * added migration guide * added memcached guide * fixes * general fixes and updates * updated reference * document medusa cache * small fix * fixes * remove cloud cache * revert edit dates changes * revert edit dates * small update
116 lines
4.5 KiB
Plaintext
116 lines
4.5 KiB
Plaintext
---
|
||
slug: /references/cache-service
|
||
tags:
|
||
- cache
|
||
- server
|
||
- how to
|
||
sidebar_label: Use Cache Module
|
||
keywords:
|
||
- cache
|
||
- provider
|
||
- integration
|
||
---
|
||
|
||
import { TypeList } from "docs-ui"
|
||
|
||
# How to Use Cache Module
|
||
|
||
In this document, you’ll learn about the different methods in the Cache Module's service and how to use them.
|
||
|
||
:::note[Deprecation Notice]
|
||
|
||
The Cache Module is deprecated starting from [Medusa v2.11.0](https://github.com/medusajs/medusa/releases/tag/v2.11.0). [Use the Caching Module](#) instead.
|
||
|
||
:::
|
||
|
||
|
||
---
|
||
|
||
## Resolve Cache Module's Service
|
||
|
||
In your workflow's step, you can resolve the Cache Module's service from the Medusa container:
|
||
|
||
```ts
|
||
import { Modules } from "@medusajs/framework/utils"
|
||
import { createStep } from "@medusajs/framework/workflows-sdk"
|
||
|
||
const step1 = createStep(
|
||
"step-1",
|
||
async ({}, { container }) => {
|
||
const cacheModuleService = container.resolve(
|
||
Modules.CACHE
|
||
)
|
||
|
||
// TODO use cacheModuleService
|
||
}
|
||
)
|
||
```
|
||
|
||
This will resolve the service of the configured Cache Module, which is the [In-Memory Cache Module](https://docs.medusajs.com/resources/infrastructure-modules/cache/in-memory) by default.
|
||
|
||
You can then use the Cache Module's service's methods in the step. The rest of this guide details these methods.
|
||
|
||
---
|
||
|
||
## get
|
||
|
||
This method retrieves data from the cache.
|
||
|
||
### Example
|
||
|
||
```ts
|
||
const data = await cacheModuleService.get("my-key")
|
||
```
|
||
|
||
### Type Parameters
|
||
|
||
<TypeList types={[{"name":"T","type":"`object`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="get"/>
|
||
|
||
### Parameters
|
||
|
||
<TypeList types={[{"name":"key","type":"`string`","description":"The key of the item to retrieve.","optional":false,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="get"/>
|
||
|
||
### Returns
|
||
|
||
<TypeList types={[{"name":"Promise","type":"Promise<null \\| T>","optional":false,"defaultValue":"","description":"The item that was stored in the cache. If the item was not found, null is returned.","expandable":false,"children":[{"name":"null \\| T","type":"`null` \\| T","optional":false,"defaultValue":"","description":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="get"/>
|
||
|
||
___
|
||
|
||
## invalidate
|
||
|
||
This method removes an item from the cache.
|
||
|
||
### Example
|
||
|
||
```ts
|
||
await cacheModuleService.invalidate("my-key")
|
||
```
|
||
|
||
### Parameters
|
||
|
||
<TypeList types={[{"name":"key","type":"`string`","description":"The key of the item to remove.","optional":false,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="invalidate"/>
|
||
|
||
### Returns
|
||
|
||
<TypeList types={[{"name":"Promise","type":"Promise<void>","optional":false,"defaultValue":"","description":"This method removes an item from the cache.","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="invalidate"/>
|
||
|
||
___
|
||
|
||
## set
|
||
|
||
This method stores data in the cache.
|
||
|
||
### Example
|
||
|
||
```ts
|
||
await cacheModuleService.set("my-key", { product_id: "prod_123" }, 60)
|
||
```
|
||
|
||
### Parameters
|
||
|
||
<TypeList types={[{"name":"key","type":"`string`","description":"The key of the item to store.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"data","type":"`unknown`","description":"The data to store in the cache.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ttl","type":"`number`","description":"The time-to-live (TTL) value in seconds. If not provided, the default TTL value is used. The default value is based on the used Cache Module.","optional":true,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="set"/>
|
||
|
||
### Returns
|
||
|
||
<TypeList types={[{"name":"Promise","type":"Promise<void>","optional":false,"defaultValue":"","description":"This method stores data in the cache.","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="set"/>
|