如何找到排序后的Redis集中得分首次出现的索引?

时间:2018-07-17 09:41:45

标签: database parsing redis

我正在使用Dewey Decimal呼叫号码编写搜索引擎,以对信息进行分类。方案如下:

123.45

2是1的子类别。 3是2的子类别。 4是3等的子类别。

与系统库用来对书籍进行排序的编号系统相同。例如200是宗教。 210是宗教哲学与理论。 211是上帝的观念。

该站点是一个连续的目录,从一个主题到另一个主题。每个链接在Redis中都有一个分数(链接的Dewey Decimal呼叫编号)。该站点设置为每页50个链接。我有一个函数,可以根据用户访问的页面来计算要从服务器提取的zrange。

有没有一种方法可以指定一个分数并找到与该分数匹配的第一次出现的索引-这样,当用户输入电话号码时,我不必遍历整个数据库来寻找分数?

1 个答案:

答案 0 :(得分:0)

您可以使用--- orig_repmgr_net.c 2018-07-17 18:38:14.071591439 -0500 +++ repmgr_net.c 2018-07-17 18:36:40.302562092 -0500 @@ -2894,6 +2894,7 @@ if (ssl_ctx) SSL_CTX_free(ssl_ctx); +#if OPENSSL_VERSION_NUMBER < 0x10100000L if (repmgr_ssl_mutex_arr != NULL) { for (i = 0; i < CRYPTO_num_locks(); i++) { if (repmgr_ssl_mutex_arr[i] != NULL) @@ -2902,6 +2903,7 @@ repmgr_ssl_mutex_arr = NULL; } +#endif return (1); } (从负无穷大到您的特定分数)来找到索引。

例如,在以下排序集中:

ZCOUNT

要查找> ZADD dewey 1 first 3 second 8 third 21 fourth 55 fifth (integer) 5 (第四个数字)的索引:

21

请记住,这是从0开始的索引。