mirror of
https://github.com/fluencelabs/redis
synced 2025-03-17 16:10:50 +00:00
TTL command implemented
This commit is contained in:
parent
03fd01c7eb
commit
fd88489a41
13
Changelog
13
Changelog
@ -1,3 +1,16 @@
|
||||
2009-05-22 S*STORE now return the cardinality of the resulting set
|
||||
2009-05-22 rubyredis more compatible with Redis-rb
|
||||
2009-05-21 minor indentation fix
|
||||
2009-05-21 timeout support and Redis-rb compatibility aliases implemented in RubyRedis
|
||||
2009-05-21 RubyRedis info postprocessor rewritten in a more functional way
|
||||
2009-05-21 dead code removed from RubyRedis
|
||||
2009-05-21 command postprocessing implemented into RubyRedis
|
||||
2009-05-20 Automagically reconnection of RubyRedis
|
||||
2009-05-20 RubyRedis: Array alike operators implemented
|
||||
2009-05-20 random testing code removed
|
||||
2009-05-20 RubyRedis DB selection forced at object creation
|
||||
2009-05-20 Initial version of an alternative Ruby client added
|
||||
2009-05-20 SDIFF / SDIFFSTORE added to doc
|
||||
2009-05-20 Aman Gupta changes merged
|
||||
2009-05-20 Merge git://github.com/tmm1/redis
|
||||
2009-05-19 Allow timeout=0 config to disable client timeouts
|
||||
|
@ -109,6 +109,7 @@ static struct redisCommand cmdTable[] = {
|
||||
{"info",1,REDIS_CMD_INLINE},
|
||||
{"mget",-2,REDIS_CMD_INLINE},
|
||||
{"expire",3,REDIS_CMD_INLINE},
|
||||
{"ttl",2,REDIS_CMD_INLINE},
|
||||
{NULL,0,0}
|
||||
};
|
||||
|
||||
|
14
redis.c
14
redis.c
@ -361,6 +361,7 @@ static void mgetCommand(redisClient *c);
|
||||
static void monitorCommand(redisClient *c);
|
||||
static void expireCommand(redisClient *c);
|
||||
static void getSetCommand(redisClient *c);
|
||||
static void ttlCommand(redisClient *c);
|
||||
|
||||
/*================================= Globals ================================= */
|
||||
|
||||
@ -422,6 +423,7 @@ static struct redisCommand cmdTable[] = {
|
||||
{"info",infoCommand,1,REDIS_CMD_INLINE},
|
||||
{"monitor",monitorCommand,1,REDIS_CMD_INLINE},
|
||||
{"expire",expireCommand,3,REDIS_CMD_INLINE},
|
||||
{"ttl",ttlCommand,2,REDIS_CMD_INLINE},
|
||||
{NULL,NULL,0,0}
|
||||
};
|
||||
|
||||
@ -3602,6 +3604,18 @@ static void expireCommand(redisClient *c) {
|
||||
}
|
||||
}
|
||||
|
||||
static void ttlCommand(redisClient *c) {
|
||||
time_t expire;
|
||||
int ttl = -1;
|
||||
|
||||
expire = getExpire(c->db,c->argv[1]);
|
||||
if (expire != -1) {
|
||||
ttl = (int) (expire-time(NULL));
|
||||
if (ttl < 0) ttl = -1;
|
||||
}
|
||||
addReplySds(c,sdscatprintf(sdsempty(),":%d\r\n",ttl));
|
||||
}
|
||||
|
||||
/* =============================== Replication ============================= */
|
||||
|
||||
static int syncWrite(int fd, char *ptr, ssize_t size, int timeout) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user