通过StackExchange.Redis在Redis中建立二级索引
使用Spring data redis@indexed,我可以在redis中设置索引 就像这样定义我的领域通过StackExchange.Redis在Redis中建立二级索引,redis,stackexchange.redis,spring-data-redis,Redis,Stackexchange.redis,Spring Data Redis,使用Spring data redis@indexed,我可以在redis中设置索引 就像这样定义我的领域 @RedisHash("customer") public class Customer extends Serializble{ @Id Private String CustomerId; @Indexed Private String CustmerName; … } 我正在努力实现C#StackExchange.Redis
@RedisHash("customer")
public class Customer extends Serializble{
@Id
Private String CustomerId;
@Indexed
Private String CustmerName;
…
}
我正在努力实现C#StackExchange.Redis带来的功能。已成功创建哈希
IDatabase db = redis.GetDatabase(Variables.RedisDatabaseIndex);
db.HashSet(Row.customerId, new HashEntry[] {new HashEntry("customerName", Row.customerName) )
问题是我无法创建与SpringDataRedis中的索引选项类似的索引。我试图从stackexchange.redis文档中获取,但找不到任何解决方案。任何指针都会有所帮助本质上,SE.Redis只是公开核心Redis命令和原语。如果您知道要发出什么命令:SE.Redis将帮助您。然而,它并不试图提供更复杂的场景。你通常可以做这些事情——不管是通过像RedSearch这样的工具手动完成——但是:你需要自己去弄清楚这一部分。当您知道要做什么时,SE.Redis将帮助您请求服务器完成。直接或通过NRediSearch之类的包装器。StackExchange.Redis只需包装即可。除此之外,它不试图提供任何抽象 Redis本身没有“二级索引”的概念——至少在某种程度上,您可能不会习惯于从传统关系数据库中获取索引。但是,它提供了许多数据结构,可用于维护有效的二级索引 我不熟悉Spring的Redis客户端,但在上面的示例中,您必须手动维护客户名称到客户ID的某种形式的映射,例如使用另一个哈希或每个名称一个键 如果您想提供某种形式的搜索,您可能需要查看一个 我写过如何维护这些索引(通过事务或批处理作业),您可能会发现这些索引也很有用。这就是说,它主要关注数字索引,而你似乎在寻找某种形式的搜索。另见