我有这样的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)。
如何实现?
谢谢
答案 0 :(得分:3)
您可以在此数据结构中放入csv。您可以使用
user:{email}
之类的键创建 hashmap ,例如:
您可以使哈希键类似-
user:mike@gmail.com
,其键像fname mike, lname gote, email mike@gmail.com, authorised 1
您可以对CSV
中的每一行使用 REDIS命令
hmset user:mike@gmail.com fname mike lname gote email mike@gmail.com authorised 1
现在,您可以使用键 user:authorisation:0 和 user:authorisation:1 进行设置,然后使用以下命令将这些值插入到设置中
sadd user:authorisation:1 user:mike@gmail.com
您必须为相应的授权集插入user:{email}的所有哈希键。
现在要获得具有相同授权级别的所有用户,您必须首先获取集合的所有成员,然后从哈希的指向中取出值。例如,从列表中获取所有授权电子邮件的值-您必须运行查询
smembers user:authorisation:1
这将返回用户的哈希值。为了从哈希表中获取信息,我们必须运行命令。
hgetall user:mike@gmail.com
这是在Redis中处理此类数据集的标准方法。