Merapi plugin for working with ioredis.
npm install merapi-plugin-redis --save
{
"name": "merapi",
"version": "0.1.0",
"plugins": [
"redis"
],
"components": {
"redisPub": {
"type": "redis",
"config": "redisConfig"
},
"redisSub": {
"type": "redis",
"config": "redisConfig"
}
},
"redisConfig": {
"type": "single",
"prefix": "merapi",
"host": "127.0.0.1",
"port": "6379",
"password": "mypassword",
"ttl": "300",
"redisHosts": "[{\"host\": \"127.0.0.1\", \"port\": 6379},{\"host\": \"127.0.0.1\", \"port\": \"16379\"}]",
"sentinelName": "mymaster",
"args": {}
}
}
The arguments passed to the redis configuration are different from one another, where:
type
identifies redis type (single
,cluster
, orsentinel
)prefix
prefix for redis key (key will be{prefix}:yourkey
)host
redis hostport
redis portpassword
redis authttl
default value for ttlredisHosts
(optional) fill this field if you wish to use more than one host. Fill this field in string formatsentinelName
(optional) name for sentinel masterargs
(optional) used as second argument incluster
configuration
Example of redis configuration.
{
"type": "single",
"prefix": "merapi",
"host": "127.0.0.1",
"port": 6380,
"password": "mypassword"
}
More information about redis configuration
{
"type": "cluster",
"prefix": "merapi",
"password": "mypassword",
"redisHosts": "[{\"host\": \"127.0.0.1\", \"port\": 6379},{\"host\": \"127.0.0.1\", \"port\": 16379}]",
"args": {
"slotsRefreshTimeout": 2000
}
}
More information about cluster configuration
{
"type": "sentinel",
"prefix": "merapi",
"host": "localhost",
"port": "26379",
"sentinelName": "mymaster",
"password": "mypassword"
}
More information about sentinel configuration
You can call redis client by using client
function:
import { IRedis } from "merapi-plugin-redis";
export default class YourManager {
constructor(protected redisRepo: IRedis) {
super();
}
getRedisClient() {
const redisClient = this.redisRepo.client();
return redisClient;
}
}
Then you can proceed to use ioredis from redisClient
.
MIT