首页 > 解决方案 > Redis在一个命令中获取一个键的TTL和值 - nodejs redis

问题描述

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

标签: node.jsredis

解决方案


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

ioredis模块

管道命令

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

指令

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

redis模块

指令

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

推荐阅读