繁体   English   中英

PHPRedis-time()不起作用

[英]PHPRedis - time() does not work

我有个问题。

在我的项目中,我很少有服务器在Redis中修改相同的数据。 所有服务器的时间可能不同。 换句话说,在某些情况下,我不能依靠应用服务器的时间。

所以我想将Redis时间用作一般基点。

一切都可以,PHPRedis文档说有一个函数可以完全满足我的需要: time()

但这是一个巨大的惊喜:

//... create connection etc...
var_dump($redis->time());

输出为:

bool(false)

问题是-这到底是什么? 您曾经遇到过这样的问题吗?

我如何使用它的功能获取Redis服务器时间?

注意:其他redis函数工作正常,我能够读写数据。 连接正常,创建正确。

在这里没有帮助。

以及其他任何地方。

所以我需要发明一个解决方案...

如果有人需要,就在这里。

    // Generate unique temporary key
    $key = uniqid() . time();

    // Take some random future TS
    $future_ts = time() + 1000;

    $redis->setex($key, time(), 5);
    $redis->expireAt($key, $future_ts);

    // This variable now contains what I need
    $redis_ts = $future_ts - $redis->ttl($key);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM