我有一个问题。
在我的项目中,我很少有服务器在 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);
关于PHPRedis - 时间()不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26300776/