【发布时间】:2021-03-02 17:56:27
【问题描述】:
我的 redis 键遵循如下模式:
ZZprefixA-1
ZZprefixA-2
ZZprefixA-3
ZZprefixB-1
ZZprefixB-2
ZZprefixB-3
...
我想删除所有符合以下模式的键
ZZprefixA-*
我的代码如下所示:
const redis = require('redis')
const { promisify } = require('util')
const options = {
host: REDIS_HOST,
port: REDIS_PORT,
prefix: 'ZZ'
password: REDIS_PASSWORD,
}
if (REDIS_PASSWORD) {
options.password = REDIS_PASSWORD
}
const redisClient = redis.createClient(options)
delAsync = promisify(redisClient.del).bind(redisClient)
getKeysAsync = promisify(redisClient.keys).bind(redisClient)
现在我正在尝试通过以下方式删除与模式匹配的键:
const keys = await getKeysAsync(`ZZprefixA-*`)
const result = await delAsync(keys)
console.log(result)
const dkeys = await getKeysAsync(
`ZZprefixA-*`
)
console.log(dkeys)
'result' 的控制台日志打印 0,'dkeys' 打印匹配的键,尽管在键上调用了 del 函数。
【问题讨论】:
标签: javascript node.js redis