Skip to content

Commit 7bff3dd

Browse files
committed
Add PTTL.
1 parent fe8e2fb commit 7bff3dd

File tree

3 files changed

+19
-7
lines changed

3 files changed

+19
-7
lines changed

README.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1675,9 +1675,9 @@ None.
16751675
$redis->resetStat();
16761676
</pre>
16771677

1678-
## ttl
1678+
## ttl, pttl
16791679
##### *Description*
1680-
Returns the time to live left for a given key, in seconds. If the key doesn't exist, `FALSE` is returned.
1680+
Returns the time to live left for a given key, in seconds. If the key doesn't exist, `FALSE` is returned. pttl returns a time in milliseconds.
16811681

16821682
##### *Parameters*
16831683
*Key*: key

php_redis.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ PHP_METHOD(Redis, flushAll);
9898
PHP_METHOD(Redis, dbSize);
9999
PHP_METHOD(Redis, auth);
100100
PHP_METHOD(Redis, ttl);
101+
PHP_METHOD(Redis, pttl);
101102
PHP_METHOD(Redis, persist);
102103
PHP_METHOD(Redis, info);
103104
PHP_METHOD(Redis, resetStat);

redis.c

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ static zend_function_entry redis_functions[] = {
144144
PHP_ME(Redis, dbSize, NULL, ZEND_ACC_PUBLIC)
145145
PHP_ME(Redis, auth, NULL, ZEND_ACC_PUBLIC)
146146
PHP_ME(Redis, ttl, NULL, ZEND_ACC_PUBLIC)
147+
PHP_ME(Redis, pttl, NULL, ZEND_ACC_PUBLIC)
147148
PHP_ME(Redis, persist, NULL, ZEND_ACC_PUBLIC)
148149
PHP_ME(Redis, info, NULL, ZEND_ACC_PUBLIC)
149150
PHP_ME(Redis, resetStat, NULL, ZEND_ACC_PUBLIC)
@@ -3084,10 +3085,7 @@ PHP_METHOD(Redis, persist) {
30843085
}
30853086
/* }}} */
30863087

3087-
/* {{{ proto long Redis::ttl(string key)
3088-
*/
3089-
PHP_METHOD(Redis, ttl) {
3090-
3088+
PHPAPI void generic_ttl(INTERNAL_FUNCTION_PARAMETERS, char *keyword) {
30913089
zval *object;
30923090
RedisSock *redis_sock;
30933091

@@ -3104,7 +3102,7 @@ PHP_METHOD(Redis, ttl) {
31043102
}
31053103

31063104
key_free = redis_key_prefix(redis_sock, &key, &key_len TSRMLS_CC);
3107-
cmd_len = redis_cmd_format_static(&cmd, "TTL", "s", key, key_len);
3105+
cmd_len = redis_cmd_format_static(&cmd, keyword, "s", key, key_len);
31083106
if(key_free) efree(key);
31093107

31103108
REDIS_PROCESS_REQUEST(redis_sock, cmd, cmd_len);
@@ -3113,6 +3111,19 @@ PHP_METHOD(Redis, ttl) {
31133111
}
31143112
REDIS_PROCESS_RESPONSE(redis_long_response);
31153113
}
3114+
3115+
/* {{{ proto long Redis::ttl(string key)
3116+
*/
3117+
PHP_METHOD(Redis, ttl) {
3118+
generic_ttl(INTERNAL_FUNCTION_PARAM_PASSTHRU, "TTL");
3119+
}
3120+
/* }}} */
3121+
3122+
/* {{{ proto long Redis::pttl(string key)
3123+
*/
3124+
PHP_METHOD(Redis, pttl) {
3125+
generic_ttl(INTERNAL_FUNCTION_PARAM_PASSTHRU, "PTTL");
3126+
}
31163127
/* }}} */
31173128

31183129
/* {{{ proto array Redis::info()

0 commit comments

Comments
 (0)