c# - Redis 使用 ServiceStack.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
}

我知道存储与用户关联的事件列表的最佳方法是存储 ID 列表。一个用户可能有 500 多个关联的事件,所以我真的不想在每次加载用户时都加载每个事件以显示它们的列表。

在 Redis 中,更具体地说是 ServiceStack.Redis 中,是否可以通过外键进行选择?例如,同时选择 UserId & CourseId 的所有事件?还是我想念使用 Redis 的最佳方式?

最佳答案

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

另请阅读 thisServiceStack C# client 回答在 Redis 中维护关系的不同方式.

关于c# - Redis 使用 ServiceStack.Redis 通过外键检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10413243/

相关文章:

c# - 如何将多个 Alter 存储过程脚本作为一个脚本运行?

c# - 多字段搜索

mysql - 数据库设计 - 条件空值

javascript - 在 mongodb 和 nodejs 中建模博客和评级

ios - Couchbase LiveQuery 无法与 "rows"之外的其他 keyPath 一起使用

c# - Dapper sqlmapperextensions 自动将 "s"添加到表名?

c# - 如何防止方法调用者修改返回的集合?

sql - 确定性代理键

sql-server - 标签的无连接表结构

用于动态问题和答案的 MongoDB 模式