Доступ к данным, хранящимся в Redis с использованием Python - PullRequest
0 голосов
/ 26 июня 2019

Я сохраняю данные в redis с использованием PHP Yii2 framework.YII2 использует хэш для хранения данных. Те же данные, которые я пытаюсь получить в python.Я знаю ключ от которого мне нужны данные.Как я могу получить значение этого ключа в python?

Это то, что я получаю в python

хешированный ключ, сохраненный с использованием YII2: 220a9a963c13278a1f7dceeb28851a30

значение против вышеуказанногоключ: a:2:{i:0;a:1:{i:0;a:1:{s:11:"filter_name";s:10:"Permission";}}i:1;N;}

import redis
r = redis.Redis(host=host,port=port,password=password, db=12,decode_responses=False)
key_list = r.keys('*')
for keys in key_list:
    print("{} >>> {}".format(keys, r.get(keys)))

Ожидаемый результат: значение ключа

Фактический результат: None

1 Ответ

0 голосов
/ 26 июня 2019

попробуйте это и дайте мне знать, если это работает, Объяснение: поскольку вы упомянули, что данные хранятся с использованием хэша ( hset ), то вы должны использовать hget , чтобы получить значения противэтот тип данных.

import redis
r = redis.Redis(host=host,port=port,password=password, db=12,decode_responses=False)
key_list = r.keys('*')
for keys in key_list:
    print("{} >>> {}".format(keys, r.hgetall(keys)))
...