Py学习  »  Redis

如何在redis中添加条件(过滤器)

Joe • 5 年前 • 911 次点击  

我有一个这样的csv:

key,fname,lname,email,authorized
1,mike,gote,mike@gmail.com,1
2,joe,doe,joe@gmail.com,0
3,mark,ding,mark@gmail.com,1

我可以根据密钥(1、2、3)存储在Redis中,但只需要获得授权的用户(authorized==1)。

如何做到这一点?

谢谢

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30831
 
911 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Supermacy
Reply   •   1 楼
Supermacy    5 年前

您可以在此数据结构中容纳csv。你可以创造 散列表 带密钥的
user:{email}
例如:
你可以将哈希键设置为-
user:mike@gmail.com 像钥匙一样 fname mike, lname gote, email mike@gmail.com, authorised 1
你可以使用 雷迪斯指令 对于csv中的每一行

hmset user:mike@gmail.com fname mike lname gote email mike@gmail.com authorised 1

现在你可以用这把钥匙做布景了 用户:授权:0 用户:授权:1 并使用命令在集合中插入值
sadd user:authorisation:1 user:mike@gmail.com
您必须插入用户的所有哈希键:电子邮件用于各自的授权集。

现在,为了获得所有具有相同授权级别的用户,您必须首先获取集合的所有memeber,然后从哈希的指向中取出值。例如,从列表中获取所有授权电子邮件的值-您必须运行查询

smembers user:authorisation:1

这将返回用户的哈希值。为了从散列中获取信息,我们必须运行命令。

hgetall user:mike@gmail.com

这是在redis中处理此类数据集时的标准方法。