2014-07-24 26 views
2

我是Redis的新手,我试图找出哪种数据类型适合存储特定于一个用户的一组数据。我应该在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

我无法回答语法问题,因为您没有说出您使用的是哪个redis驱动程序。 所以这里是基于Redis命令的信息。

使用HMSET来设置与给定用户相关的所有数据。

HMSET 1001 photo "url of the photo" age 31 name "user name" location "location name" city "city name" country "country name" 

使用一组存储用户

SADD 1000:MatchesMembers 1001 1003 1007 1009 

的ID要从设置用户使用SREM

要优化的多个构件的配置文件的插入,使用pipeling。您的Redis驱动程序应该处理它。

相关问题