Api for Save/Select List of Reference type into redis
Api for Save/Select List of Reference type into redis
我正在使用 stackexchange.redis api 将简单的字符串列表访问到 Redis 中。现在我需要 Add/Update/Delete/Get 列表到 redis
然后访问像 lst.Find(h=>h.Id == "1") e.t.c 这样的对象
基本上是操作 ReferenceType 对象的功能。
我在那里找不到它。有人知道我该怎么做吗?
这是一个广泛的主题。 Redis 中有两种存储复杂对象的方法:序列化和散列。序列化是不透明的 blob——仅(通常)由调用应用程序解释。我在这个 github issue 中讨论过这个,我怀疑也是你。散列是单个键内的 name/value 对(有点像动态数据库列,...-ish)——这允许获取属性的子集等。
请注意,列表中不能有散列。
接下来是通过id查找的问题。如果你使用 Redis 列表,你只能按位置获取:而不是一些 属性。我怀疑您也在考虑带有 RDBMS 护目镜的 Redis,但 Redis 根本不是那样工作的。
就个人而言,我希望每个项目都有一个键,由主键命名。例如像 /user/12345
这样的键。然后获取(或更新)用户12345是读取(或写入)键by name的情况。 Redis 本身不支持附加索引,但您可以使用 附加 存储手动实现索引。例如,/users/ssid
中的散列将 whatever572618
映射到具有该 ID 的用户。
Josiah Carlson 的 "Redis in Action" 书可能对您了解如何使用 Redis 有所帮助。
我正在使用 stackexchange.redis api 将简单的字符串列表访问到 Redis 中。现在我需要 Add/Update/Delete/Get 列表到 redis 然后访问像 lst.Find(h=>h.Id == "1") e.t.c 这样的对象 基本上是操作 ReferenceType 对象的功能。 我在那里找不到它。有人知道我该怎么做吗?
这是一个广泛的主题。 Redis 中有两种存储复杂对象的方法:序列化和散列。序列化是不透明的 blob——仅(通常)由调用应用程序解释。我在这个 github issue 中讨论过这个,我怀疑也是你。散列是单个键内的 name/value 对(有点像动态数据库列,...-ish)——这允许获取属性的子集等。
请注意,列表中不能有散列。
接下来是通过id查找的问题。如果你使用 Redis 列表,你只能按位置获取:而不是一些 属性。我怀疑您也在考虑带有 RDBMS 护目镜的 Redis,但 Redis 根本不是那样工作的。
就个人而言,我希望每个项目都有一个键,由主键命名。例如像 /user/12345
这样的键。然后获取(或更新)用户12345是读取(或写入)键by name的情况。 Redis 本身不支持附加索引,但您可以使用 附加 存储手动实现索引。例如,/users/ssid
中的散列将 whatever572618
映射到具有该 ID 的用户。
Josiah Carlson 的 "Redis in Action" 书可能对您了解如何使用 Redis 有所帮助。