Skip to content

i1kazantsev/redis-cache-client

Repository files navigation

@i1k/redis-cache-client

npm version codecov

Redis cache client with the same interface as @i1k/smart-cache-manager. Uses ioredis under the hood.

Installation

# using pnpm
pnpm i @i1k/redis-cache-client

# using npm
npm i @i1k/redis-cache-client

Usage

import RedisCacheClient from '@i1k/redis-cache-client'

// supports all ioredis options
const cacheClient = new RedisCacheClient()

cacheClient.set('key', 'value')

API Reference

interface ICacheClient {
  set: (key: string, value: string) => Promise<'OK'>
  get: (key: string) => Promise<string | null>
  del: (key: StringOrGlobPattern | StringOrGlobPattern[]) => Promise<string[]>
  clear: () => Promise<string[]>
  keys: (pattern: StringOrGlobPattern | StringOrGlobPattern[]) => Promise<string[]>
}

set

To set a key-value pair.

cacheClient.set('foo', 'bar')
// => Promise<'OK'>

cacheClient.set('foo/main', 'bar')
// => Promise<'OK'>

get

To get a value by key.

cacheClient.get('foo')
// => Promise<'bar'>

cacheClient.get('bar')
// => Promise<null>

del

To delete a key-value pair by a specific key or a glob pattern.

cacheClient.del('foo')
// => Promise<['foo']>

cacheClient.del('foo*')
// => Promise<['foo', 'foo/main']>

cacheClient.del(['foo', 'foo/*'])
// => Promise<['foo', 'foo/main']>

clear

To clear the store.

cacheClient.clear()
// => Promise<['foo', 'foo/main']>

keys

To get keys by a specific key or a glob pattern.

cacheClient.keys('foo')
// => Promise<['foo']>

cacheClient.keys('foo*')
// => Promise<['foo', 'foo/main']>

cacheClient.keys(['foo', 'foo/*'])
// => Promise<['foo', 'foo/main']>

License

MIT

About

Redis cache client with the same interface as @i1k/smart-cache-manager.

Resources

License

Stars

Watchers

Forks

Packages

No packages published