在nodejs redis中,如何一次获取Redis键的TTL和值?

5

是否有一种选项可以在一个命令中获取key的TTL和它的值?使用redis-cli。

1个回答

7
您可以使用TTL命令获取具有超时时间的键的剩余存活时间,使用GET命令获取键值。没有单个命令可以同时执行这两个操作,唯一的方法是使用pipeline或transaction。

ioredis模块

pipeline命令

redis.pipeline().ttl('foo').get('foo').exec(function (err, result) {
  // result === [[null, <ttl>], [null, <value>]]
});

multi 命令

redis.multi().ttl('foo').get('foo').exec(function (err, result) {
  // result === [[null, <ttl>], [null, <value>]]
});

redis 模块

multi 命令

RedisClient.multi().ttl('foo').get('foo').exec(function (errors, results) {
  // results = [<ttl>, <value>]
});

redis-cli

SET foo "bar" EX 42
MULTI
TTL foo
GET foo
EXEC

它不工作,告诉我:“TypeError: RedisClient.pipeline不是一个函数”,请注意,我使用的是“RediClient”术语,而不是“redis”。 - Raz Buchnik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接