PHPRedis - 时间()不起作用

标签 php time redis phpredis

我有一个问题。

在我的项目中,我很少有服务器在 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/

相关文章:

php - 如何在 Yii 框架上自定义日志文件?

php - 如何从查询中删除重复的 JOIN 而无需手动执行?

php - 有没有一个好的 PHP 向量和矩阵库?

java - GWT 时间/字符串格式

spring - 如何在 Spring 执行器健康状况中排除 redis 检查

mysql - Sidekiq Worker:Mysql2::Error:用户 'mysqluser' @'ip-address' 拒绝访问(使用密码:NO)

php - 显示错误时间的网站总登录时间

JPA 和 java 8 日期 API - 选择正确的实现(Instant、LocalDateTime、ZonedDateTime)

parsing - 如何解析golang时间

Redis 读/写