我是Redis的新手,我正在尝试确定哪种数据类型适合存储一组特定于一个用户的数据。
数据集将特定于用户1000,因此我可以调用类型
1000:MatchesMembers
然后,数据类型将包含其他用户的列表,如:
1001, photo, age, name, location, city, country
1003, photo, age, name, location, city, country
1007, photo, age, name, location, city, country
1009, photo, age, name, location, city, country
我已经读过,如果可能的话,最好使用哈希类型 - Redis set vs hash
如果哈希是最好用的,这是我用它的方式吗?
var hash = client.GetHash<string>("1000:MatchesMembers");
hash.SetValue("key", "value");
我是否必须单独设置每个值,还是可以批量设置?
最后是否可以从哈希中弹出值?每次我会收集大约10个条目,并且一旦我使用它们就想删除它们。有没有办法从哈希中弹出条目或我需要阅读和删除?不同的数据类型会更适合这种功能吗?
非常感谢。
答案 0 :(得分:0)
我无法回答语法问题,因为您没有说明您正在使用哪个redis驱动程序。 所以这里是基于Redis命令的信息。
使用HMSET设置与给定用户相关的所有数据。
HMSET 1001 photo "url of the photo" age 31 name "user name" location "location name" city "city name" country "country name"
使用集合来存储用户的ID
SADD 1000:MatchesMembers 1001 1003 1007 1009
要从设置中删除用户,请使用SREM
要优化多个成员个人资料的插入,请使用pipeling。你的Redis驱动程序应该处理它。