1

我有个问题。

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

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

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

但这里有一个很大的惊喜:

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

输出是:

bool(false)

问题是——这到底是什么?你有没有遇到过这样的问题?

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

注意:其他 redis 功能工作正常,我能够读取和写入数据。连接正常并且已正确创建。

4

1 回答 1

0

这里没有帮助。

以及其他任何地方。

所以我需要发明一个绕行...

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

    // 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);
于 2014-10-13T14:45:38.563 回答