我的意思是我有像
这样的行id name email emp_id
1 abc abc@a.com e1e2
2 lmn lmn@a.com e1e3
在获取mysql之后,我将这些数据存储在redis中。
现在说我想从redis的某个人的电子邮件ID abc@a.com
获取数据,我该怎么做以及我应该在redis中使用哪种数据类型?
答案 0 :(得分:2)
您需要的是二级索引。您可以使用redis数据结构自行实现它。或者如果你对redis 4.0(现在在RC阶段)没问题,你可以尝试这个模块,让你自动化:
https://github.com/RedisLabsModules/secondary
使用它你可以做类似的事情:
对匹配WHERE条件的键执行redis操作(IDX.FROM users_email WHERE "email ='abc@a.com'" HGETALL $
替换匹配查询的每个id的实际id。)
答案 1 :(得分:1)
这取决于您如何以redis格式存储数据。如果您经常通过电子邮件进行访问,那么您可以使用该电子邮件作为哈希的密钥,并直接使用' HGETALL电子邮件:abc@a.com'。