[英]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.