C# Redis使用ServiceStack.Redis通过外键检索

C# Redis使用ServiceStack.Redis通过外键检索,c#,database-design,nosql,redis,C#,Database Design,Nosql,Redis,我正试图了解Redis/NoSQL方式或设计数据库,但我需要一些建议。我有以下型号: User { long UserId string Username string Password List<long> ActivityIds } Activity { long ActivityId long UserId long CourseId string Name string Description }

我正试图了解Redis/NoSQL方式或设计数据库,但我需要一些建议。我有以下型号:

User {
    long UserId
    string Username 
    string Password
    List<long> ActivityIds 
}

Activity {
    long ActivityId
    long UserId
    long CourseId
    string Name
    string Description
}
用户{
长用户ID
字符串用户名
字符串密码
列出活动ID
}
活动{
长活动ID
长用户ID
长跑赛
字符串名
字符串描述
}
我知道存储与用户关联的活动列表的最佳方法是存储ID列表。一个用户可能有500多个关联的活动,因此我并不想每次加载用户时都加载每个活动以显示它们的列表


在Redis和更具体地说ServiceStack.Redis中,是否可以通过外键进行选择?例如,是否同时按UserId和CourseId选择所有活动?还是我不了解使用Redis的最佳方法?

您应该为模型上的主键使用Id属性

另外,请阅读关于在Redis中维护关系的不同方法的答案