Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过StackExchange.Redis在Redis中建立二级索引_Redis_Stackexchange.redis_Spring Data Redis - Fatal编程技术网

通过StackExchange.Redis在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

使用Spring data redis@indexed,我可以在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的某种形式的映射,例如使用另一个哈希或每个名称一个键

如果您想提供某种形式的搜索,您可能需要查看一个

我写过如何维护这些索引(通过事务或批处理作业),您可能会发现这些索引也很有用。这就是说,它主要关注数字索引,而你似乎在寻找某种形式的搜索。另见