ここで sortedset を行う方法についてのドキュメントを読むのは興味深いことです。
public void Show_a_TagCloud()
{
//Get strongly-typed clients
using (var redisBlogPosts = redisClient.GetTypedClient<BlogPost>())
{
var newIncomingBlogPosts = redisBlogPosts.GetAll();
foreach (var newBlogPost in newIncomingBlogPosts)
{
//For every tag in each new blog post, increment the number of times each Tag has occurred
newBlogPost.Tags.ForEach(x =>
redisClient.IncrementItemInSortedSet("urn:TagCloud", x, 1));
}
//Show top 5 most popular tags with their scores
var tagCloud = redisClient.GetRangeWithScoresFromSortedSetDesc("urn:TagCloud", 0, 4);
Debug.WriteLine(tagCloud.Dump());
}
/* Output:
[
[
NoSQL,
4
],
[
Scalability,
2
],
[
JSON,
2
],
[
Redis,
1
],
[
Raven,
1
],
]
*/
}
人気のあるアイテムのリストなどのタスクを実行するには、最初に redistypedclient.GetAll() を呼び出してすべてのレコードを取得し、次に for ループを使用して人気にフラグを立てる必要があります。私の質問は、redis データベースに大量のデータ セットがある場合、この操作は高価になり、実行が遅くなりますか?