PHPRedis — время () не работает

У меня проблема.

В моем проекте у меня есть несколько серверов, которые изменяют те же данные в Redis.
Все серверы могут иметь разное время.
Другими словами, в некоторых случаях я не могу полагаться на время сервера приложений.

Поэтому я хотел бы использовать время Redis в качестве общей базовой точки.

Все может быть хорошо, документация PHPRedis говорит, что есть функция, которая делает именно то, что мне нужно: время().

Но вот большой сюрприз:

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

Выход:

bool(false)

Вопрос — что это, черт возьми?
Вы когда-нибудь сталкивались с такой проблемой?

Как я могу получить время сервера Redis, используя его функции?

Примечание: другие функции redis работают нормально, я могу читать и записывать данные. Соединение в порядке и создано правильно.

1

Решение

Здесь нет никакой помощи.

Как и везде.

Так что мне нужно было изобрести обход …

Вот оно, если это кому-то нужно.

    // 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);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]