5

我使用 ServiceStack 并希望将对象作为哈希存储在 Redis 中,并通过 id 访问它们的部分(字段)而不序列化整个对象,所以我有一个问题:

  1. 有没有办法使用“Id”以外的其他属性来标记 id 字段?我正在使用命名约定,其中 id 字段被命名为“类
    名+Id”。所以在 User 类中会有 UserId id 字段,在
    Itemclass ItemId 中等等。

  2. 是否有一种方法可以更新对象中已更改的属性,而无需将整个对象序列化为哈希,也无需使用 Redis 的哈希命令进行低级操作?例如,通过使用某种 lambda。

 

User user=client.GetById(userId);
user.Name="New name";
client.Update<User>(user,u=>u.Name);
4

1 回答 1

5

是的,您可以使用ModelConfig覆盖默认值:

ModelConfig<User>.Id(x => x.UserId);
ModelConfig<Item>.Id(x => x.ItemId);

这需要在启动时配置一次,然后才能使用 RedisClient。

于 2012-09-08T21:20:48.123 回答