作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有这样的 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)。
如何实现?
谢谢
最佳答案
您可以将 csv 放入此数据结构中。您可以使用
user:{email}
这样的键创建 hashmap 例如:
你可以让散列键像-user:mike@gmail.com
键如fname mike, lname gote, email mike@gmail.com, authorized 1
您可以对 CSV 中的每一行使用 REDIS COMMANDhmset user:mike@gmail.com fname mike lname gote email mike@gmail.com 授权 1
现在您可以使用键 user:authorisation:0 和 user:authorisation:1 进行设置,并使用命令将值插入集合中添加用户:授权:1 用户:mike@gmail.com
您必须插入用户的所有哈希键:{email} 以获取相应的授权集。
现在要获得具有相同授权级别的所有用户,您必须首先获取该集合的所有成员,然后从散列的那个指向中取出值。例如从列表中获取所有授权电子邮件的值 - 您必须运行查询
smembers user:authorisation:1
这将返回用户的哈希值。为了从哈希中获取信息,我们必须运行命令。
hgetall user:mike@gmail.com
这是在 redis 中处理此类数据集的标准方法。
关于redis - 如何在Redis中添加条件(过滤器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54315587/
我是一名优秀的程序员,十分优秀!