我試圖提高我對Redis的理解,因爲我有一個項目需要快速處理很多數字,但是,我遇到了一個問題,要麼是我的理解錯誤,要麼是我的理解錯誤代碼沒有按預期工作。ARe Redis SINTER語句與SQL WHERE語句相媲美嗎?
我有數據在MariaDB的表,我使用ioredis
到hmset
數據的每一行到Redis的數據庫,然後執行sadd
創造每個點指數,我需要樞軸轉動而離開的。
但是,我的結果集不匹配。例如,在MariaDB的,我得到一個結果集的rougly 55K記錄過兩個字段:使用Redis的那些相同的字段
SELECT COUNT(`Email`) FROM myTable
WHERE `Qual Field A`='Yes' AND `Qual Field B`='Something else'
我2K左右得到結果:
SINTER qualFieldA:'Yes' qualFieldB:'Something else'
我根據我在SO和其他地方閱讀的內容,我認爲做SINTER key1:value key2:value
大致相當於SELECT {fields} FROM {table} WHERE field1=value AND field2=value
。
是這種情況,也許我的導入或sadd電話關閉,或者我不正確地瞭解SINTER如何工作?
如果您的集合填充正確,則流程正確。也許分享你的進口代碼? –
這裏是我的代碼引入記錄和'sadd'的例子。我在想我在sadd()中的鍵是關閉的。 https://jsbin.com/sefevihohe/1/edit?js,output – afithings
你的代碼看起來很理智。請注意,您提供的SINTER不應在鍵名中包含勾號('),除非它們實際上是數據記錄對象中的數據的一部分(我傾向於認爲它們不是) –