среда, 13 февраля 2013 г.

Redis EXPIRE

    Нужно чтобы Redis сервер и все сервера с которых к нему обращаются находились в одной временной зоне. Иначе EXPIRE (SETEX) не будет работать корректно:

redis web-d11:6379> TTL orderlock-1421615
(integer) -1
redis web-d11:6379> GET orderlock-1421615
"admin"
Как вы видите TTL уже истек, но операция GET все равно возвращает значение. Это говорит о том что внутри себя Redis хранит TTL в виде абсолютного значения. 
   Чтобы изменить часовой пояс сервера(ubuntu):
sudo dpkg-reconfigure tzdata