Python Redis Sort () сохраняющий вывод - PullRequest
0 голосов
/ 25 апреля 2020

Итак, я пытаюсь сохранить вывод функции redis sort в переменную.
Я не могу напрямую использовать var = redis.sort(~something~), потому что я использую конвейер, который ожидает выполнения

Я пытался redis.sort(name, store=var) безрезультатно

    sorted_posts = None

    with r.pipeline() as pipe:
        pipe.multi()
        pipe.sadd('temp_posts', *post_id_list)
        pipe.sort(name='temp_posts', by='*->karma', get='*->post_id', desc=True, store=sorted_posts)
        pipe.delete('temp_posts')
        pipe.execute()

    print(sorted_posts)
    return sorted_posts

Я не совсем уверен, как использовать опцию магазина.
Мне было интересно, знает ли кто-нибудь еще.

1 Ответ

0 голосов
/ 25 апреля 2020

Вы неправильно понимаете, как это работает. Он хранит выходные данные в переменной внутри Redis. Это будет выглядеть так. Посмотрите документацию , чтобы лучше понять.

key = 'sorted_posts'

with r.pipeline() as pipe:
        pipe.multi()
        pipe.sadd('temp_posts', *post_id_list)
        pipe.sort(name='temp_posts', by='*->karma', get='*->post_id', desc=True, store=key)
        pipe.delete('temp_posts')
        pipe.execute()

print(redis.get(key))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...