Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## MemoryCache

<GenerationInfo sourceFile="packages/cache/src/memory-cache.ts" sourceLine="7" packageName="@commandkit/cache" />
<GenerationInfo sourceFile="packages/cache/src/providers/memory-cache.ts" sourceLine="7" packageName="@commandkit/cache" />

MemoryCache is an in-memory cache provider that implements the CacheProvider interface.
It stores cache entries in a Map and supports basic operations like get, set, exists, delete, clear, and expire.
Expand Down
124 changes: 124 additions & 0 deletions apps/website/docs/api-reference/cache/classes/redis-cache.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
---
title: "RedisCache"
isDefaultIndex: false
generated: true
---

import MemberInfo from '@site/src/components/MemberInfo';
import GenerationInfo from '@site/src/components/GenerationInfo';
import MemberDescription from '@site/src/components/MemberDescription';

<!-- This file was generated from the CommandKit source. Do not modify. Instead, re-run the "docgen" script -->


## RedisCache

<GenerationInfo sourceFile="packages/cache/src/providers/redis.ts" sourceLine="16" packageName="@commandkit/cache" />

A cache provider that uses Redis as the cache store.



*Example*

```ts
const redisCache = new RedisCache();
new CommandKit({
...
cacheProvider: redisCache,
});
```

```ts title="Signature"
class RedisCache extends CacheProvider {
public redis: Redis;
public serialize: SerializeFunction;
public deserialize: DeserializeFunction;
constructor()
constructor(redis: Redis)
constructor(redis: RedisOptions)
constructor(redis?: Redis | RedisOptions)
get(key: string) => Promise<CacheEntry<T> | undefined>;
set(key: string, value: T, ttl?: number) => Promise<void>;
clear() => Promise<void>;
delete(key: string) => Promise<void>;
exists(key: string) => Promise<boolean>;
expire(key: string, ttl: number) => Promise<void>;
}
```
* Extends: <code><a href='/docs/api-reference/cache/classes/cache-provider#cacheprovider'>CacheProvider</a></code>



<div className="members-wrapper">

### redis

<MemberInfo kind="property" type={`Redis`} />


### serialize

<MemberInfo kind="property" type={`<a href='/docs/api-reference/cache/types/serialize-function#serializefunction'>SerializeFunction</a>`} />

Serialize function used to serialize values before storing them in the cache.
By default, it uses `JSON.stringify`.
### deserialize

<MemberInfo kind="property" type={`<a href='/docs/api-reference/cache/types/deserialize-function#deserializefunction'>DeserializeFunction</a>`} />

Deserialize function used to deserialize values before returning them from the cache.
By default, it uses `JSON.parse`.
### constructor

<MemberInfo kind="method" type={`() => RedisCache`} />

Create a new RedisCache instance.
### constructor

<MemberInfo kind="method" type={`(redis: Redis) => RedisCache`} />

Create a new RedisCache instance with the provided Redis client.
### constructor

<MemberInfo kind="method" type={`(redis: RedisOptions) => RedisCache`} />

Create a new RedisCache instance with the provided Redis options.
### constructor

<MemberInfo kind="method" type={`(redis?: Redis | RedisOptions) => RedisCache`} />


### get

<MemberInfo kind="method" type={`(key: string) => Promise&#60;<a href='/docs/api-reference/cache/interfaces/cache-entry#cacheentry'>CacheEntry</a>&#60;T&#62; | undefined&#62;`} />

Retrieve a value from the cache.
### set

<MemberInfo kind="method" type={`(key: string, value: T, ttl?: number) => Promise&#60;void&#62;`} />

Store a value in the cache.
### clear

<MemberInfo kind="method" type={`() => Promise&#60;void&#62;`} />

Clear all entries from the cache.
### delete

<MemberInfo kind="method" type={`(key: string) => Promise&#60;void&#62;`} />

Delete a value from the cache.
### exists

<MemberInfo kind="method" type={`(key: string) => Promise&#60;boolean&#62;`} />

Check if a value exists in the cache.
### expire

<MemberInfo kind="method" type={`(key: string, ttl: number) => Promise&#60;void&#62;`} />

Set the time-to-live for a cache entry.


</div>
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## cacheLife

<GenerationInfo sourceFile="packages/cache/src/use-cache.ts" sourceLine="232" packageName="@commandkit/cache" />
<GenerationInfo sourceFile="packages/cache/src/use-cache.ts" sourceLine="202" packageName="@commandkit/cache" />

Sets the TTL for the current cache operation

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## cacheTag

<GenerationInfo sourceFile="packages/cache/src/use-cache.ts" sourceLine="206" packageName="@commandkit/cache" />
<GenerationInfo sourceFile="packages/cache/src/use-cache.ts" sourceLine="176" packageName="@commandkit/cache" />

Sets a custom identifier for the current cache operation

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## cleanup

<GenerationInfo sourceFile="packages/cache/src/use-cache.ts" sourceLine="289" packageName="@commandkit/cache" />
<GenerationInfo sourceFile="packages/cache/src/use-cache.ts" sourceLine="259" packageName="@commandkit/cache" />

Cleans up stale cache entries.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## isCachedFunction

<GenerationInfo sourceFile="packages/cache/src/use-cache.ts" sourceLine="281" packageName="@commandkit/cache" />
<GenerationInfo sourceFile="packages/cache/src/use-cache.ts" sourceLine="251" packageName="@commandkit/cache" />

Checks if a function is wrapped with cache functionality

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## revalidateTag

<GenerationInfo sourceFile="packages/cache/src/use-cache.ts" sourceLine="254" packageName="@commandkit/cache" />
<GenerationInfo sourceFile="packages/cache/src/use-cache.ts" sourceLine="224" packageName="@commandkit/cache" />

Marks cache entries for invalidation by their tag. The invalidation only happens when the path is next visited.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## CacheContext

<GenerationInfo sourceFile="packages/cache/src/use-cache.ts" sourceLine="36" packageName="@commandkit/cache" />
<GenerationInfo sourceFile="packages/cache/src/use-cache.ts" sourceLine="29" packageName="@commandkit/cache" />

Context for managing cache operations within an async scope

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## CacheMetadata

<GenerationInfo sourceFile="packages/cache/src/use-cache.ts" sourceLine="49" packageName="@commandkit/cache" />
<GenerationInfo sourceFile="packages/cache/src/use-cache.ts" sourceLine="42" packageName="@commandkit/cache" />

Configuration options for cache behavior

Expand Down
22 changes: 22 additions & 0 deletions apps/website/docs/api-reference/cache/types/awaitable.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: "Awaitable"
isDefaultIndex: false
generated: true
---

import MemberInfo from '@site/src/components/MemberInfo';
import GenerationInfo from '@site/src/components/GenerationInfo';
import MemberDescription from '@site/src/components/MemberDescription';

<!-- This file was generated from the CommandKit source. Do not modify. Instead, re-run the "docgen" script -->


## Awaitable

<GenerationInfo sourceFile="packages/cache/src/providers/redis.ts" sourceLine="4" packageName="@commandkit/cache" />



```ts title="Signature"
type Awaitable<T> = T | Promise<T>
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: "DeserializeFunction"
isDefaultIndex: false
generated: true
---

import MemberInfo from '@site/src/components/MemberInfo';
import GenerationInfo from '@site/src/components/GenerationInfo';
import MemberDescription from '@site/src/components/MemberDescription';

<!-- This file was generated from the CommandKit source. Do not modify. Instead, re-run the "docgen" script -->


## DeserializeFunction

<GenerationInfo sourceFile="packages/cache/src/providers/redis.ts" sourceLine="6" packageName="@commandkit/cache" />



```ts title="Signature"
type DeserializeFunction = (value: string) => Awaitable<any>
```
16 changes: 16 additions & 0 deletions apps/website/docs/api-reference/cache/types/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: "Type Aliases"
isDefaultIndex: true
generated: true
---

import MemberInfo from '@site/src/components/MemberInfo';
import GenerationInfo from '@site/src/components/GenerationInfo';
import MemberDescription from '@site/src/components/MemberDescription';

<!-- This file was generated from the CommandKit source. Do not modify. Instead, re-run the "docgen" script -->


import DocCardList from '@theme/DocCardList';

<DocCardList />
22 changes: 22 additions & 0 deletions apps/website/docs/api-reference/cache/types/serialize-function.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: "SerializeFunction"
isDefaultIndex: false
generated: true
---

import MemberInfo from '@site/src/components/MemberInfo';
import GenerationInfo from '@site/src/components/GenerationInfo';
import MemberDescription from '@site/src/components/MemberDescription';

<!-- This file was generated from the CommandKit source. Do not modify. Instead, re-run the "docgen" script -->


## SerializeFunction

<GenerationInfo sourceFile="packages/cache/src/providers/redis.ts" sourceLine="5" packageName="@commandkit/cache" />



```ts title="Signature"
type SerializeFunction = (value: any) => Awaitable<string>
```
7 changes: 2 additions & 5 deletions apps/website/docs/api-reference/redis/classes/redis-cache.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## RedisCache

<GenerationInfo sourceFile="packages/redis/src/index.ts" sourceLine="17" packageName="@commandkit/redis" />
<GenerationInfo sourceFile="packages/redis/src/cache-storage.ts" sourceLine="15" packageName="@commandkit/redis" />

A cache provider that uses Redis as the cache store.

Expand All @@ -23,10 +23,7 @@ A cache provider that uses Redis as the cache store.

```ts
const redisCache = new RedisCache();
new CommandKit({
...
cacheProvider: redisCache,
});
setCacheProvider(redisCache);
```

```ts title="Signature"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## RedisPlugin

<GenerationInfo sourceFile="packages/redis/src/index.ts" sourceLine="137" packageName="@commandkit/redis" />
<GenerationInfo sourceFile="packages/redis/src/index.ts" sourceLine="6" packageName="@commandkit/redis" />



Expand Down
2 changes: 1 addition & 1 deletion apps/website/docs/api-reference/redis/functions/redis.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## redis

<GenerationInfo sourceFile="packages/redis/src/index.ts" sourceLine="150" packageName="@commandkit/redis" />
<GenerationInfo sourceFile="packages/redis/src/index.ts" sourceLine="19" packageName="@commandkit/redis" />

Create a new Redis plugin instance.

Expand Down
2 changes: 1 addition & 1 deletion apps/website/docs/api-reference/redis/types/awaitable.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## Awaitable

<GenerationInfo sourceFile="packages/redis/src/index.ts" sourceLine="5" packageName="@commandkit/redis" />
<GenerationInfo sourceFile="packages/redis/src/cache-storage.ts" sourceLine="5" packageName="@commandkit/redis" />



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## DeserializeFunction

<GenerationInfo sourceFile="packages/redis/src/index.ts" sourceLine="7" packageName="@commandkit/redis" />
<GenerationInfo sourceFile="packages/redis/src/cache-storage.ts" sourceLine="7" packageName="@commandkit/redis" />



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## SerializeFunction

<GenerationInfo sourceFile="packages/redis/src/index.ts" sourceLine="6" packageName="@commandkit/redis" />
<GenerationInfo sourceFile="packages/redis/src/cache-storage.ts" sourceLine="6" packageName="@commandkit/redis" />



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ Redis:
```ts title="commandkit.config.ts"
import { defineConfig } from 'commandkit';
import { cache, setCacheProvider } from '@commandkit/cache';
import { RedisCache } from '@commandkit/redis';
import { RedisCache } from '@commandkit/cache/redis';

// Set up Redis as the cache provider
setCacheProvider(
Expand Down Expand Up @@ -240,12 +240,3 @@ setInterval(
24 * 60 * 60 * 1000,
); // Run daily
```

:::tip

The `@commandkit/cache` plugin works seamlessly with other CommandKit
features and plugins. You can use it alongside the
[`@commandkit/redis`](./07-commandkit-redis.mdx) plugin for
distributed caching across multiple bot instances.

:::
Loading