Я использую redis в своем приложении python для хранения простых значений, таких как счетчики и списки штампов времени, но пытаясь получить счетчик и сравнивая его с номером, я столкнулся с проблемой.
Если я это сделаю:
import redis
...
myserver = redis.Redis("localhost")
myserver.set('counter', 5)
а затем попытайтесь получить это значение следующим образом:
if myserver.get('counter') < 10:
myserver.incr('counter')
то я получаю ошибку типа в выражении if, потому что я сравниваю '5' < 10, что означает Я сохраняю целочисленное значение и получаю строку (которую можно рассматривать как другое значение).
Мой вопрос: это должно работать так? Я имею в виду его очень простой тип, я понимаю, если мне нужно разбирать объекты, но int? Кажется, что я делаю что-то неправильно.
Есть ли какая-либо конфигурация, которую мне не хватает?
Есть ли способ сделать redis возвращать правильный тип, а не всегда строку? Я говорю это, потому что это то же самое для списков и дат или даже значений с плавающей запятой.
Может ли это быть проблемой с клиентом redis-py, который я использую, и не перерисовываю себя?