Redis在一条命令中获取TTL和密钥值-Node.js Redis

时间:2018-11-27 14:00:11

标签: node.js redis

是否可以通过一个命令获取密钥的TTL及其值?使用redis-cli。

1 个答案:

答案 0 :(得分:3)

您可以使用TTL命令来获取具有超时密钥的剩余生存时间,并使用GET来获取密钥值。没有一个命令可以同时执行这两个操作。唯一的方法是使用管道或事务

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