gpt4 book ai didi

javascript - Redis SINTER 语句是否可与 SQL WHERE 语句相媲美?

转载 作者:可可西里 更新时间:2023-11-01 11:20:41 26 4
gpt4 key购买 nike

我正在努力提高我对 Redis 的理解,因为我有一个项目需要快速处理大量数字,但是,我遇到了一个问题,要么我的理解有误,要么不知何故我的代码没有按预期工作。

我在 MariaDB 表中有数据,我正在使用 ioredis 将每一行的数据hmset 到 Redis 数据库中,然后执行 sadd 为我需要调整的每个点创建索引。

但是,我的结果集不匹配。例如,在 MariaDB 中,我从两个字段中获得了大约 55k 条记录的结果集:

 SELECT COUNT(`Email`) FROM myTable 
WHERE `Qual Field A`='Yes' AND `Qual Field B`='Something else'

在 Redis 中使用相同的字段,我得到了大约 2k 的结果:

 SINTER qualFieldA:'Yes' qualFieldB:'Something else'

根据我在 SO 和其他地方阅读的内容,我的印象是,执行 SINTER key1:value key2:value 大致相当于 SELECT {fields } FROM {table} WHERE field1=value AND field2=value.

是这种情况吗,也许我的导入或悲伤调用已关闭,还是我没有正确理解 SINTER 的工作原理?

最佳答案

原则上你是对的,但是,除了导入过程中的错误之外,IMO的主要怀疑是:MariaDB进行索引整理并以某种方式对值进行规范化以供选择,而在redis中所见即所得。

因此,例如,如果您查询"is",MariaDB 中的值“Yes”、“yes”、“Yés”和“YES”都会被选中,而在 redis 中只会选择“Yes”的值。

而且不仅仅是小写 - 如果您处理 unicode,您将进入一个痛苦的世界,试图自己实现规范化和整理。

关于javascript - Redis SINTER 语句是否可与 SQL WHERE 语句相媲美?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34776979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com