首页 > 解决方案 > Python redis smemebers 总是返回洗牌集

问题描述

当我尝试使用 python smembers 函数获取集合的成员时,它总是返回打乱的数据。并且每次调用 smembers 都会返回随机数据。但是,当我通过 redis cli 执行 smembers 时,它总是从该集中返回正确的排序数据。

print(redis_con.smembers('alpha'))

标签: pythonredis

解决方案


redis-py返回默认无序的Python 集:

>>> import redis
>>> con = redis.Redis('localhost', 6666)
>>> rSet = con.smembers('xyz')
>>> print(type(rSet))
<class 'set'>

您需要自己对集合进行排序

rSetSorted = sorted(rSet)

推荐阅读