我正在考慮使用python和Cassandra爲Redis中的緩存數據庫記錄序列化一大組數據庫記錄。我要麼序列化每個記錄並在redis中保存一個字符串,要麼爲每個記錄創建一個字典,並在redis中以字典列表的形式存在。Python - Redis:在Redis中存儲序列化對象的最佳實踐
哪種方式更快?醃製每個記錄?或爲每條記錄創建一個字典?
第二:有沒有任何方法可以從數據庫中獲取作爲dic列表? (而不是模型obj的列表)
我正在考慮使用python和Cassandra爲Redis中的緩存數據庫記錄序列化一大組數據庫記錄。我要麼序列化每個記錄並在redis中保存一個字符串,要麼爲每個記錄創建一個字典,並在redis中以字典列表的形式存在。Python - Redis:在Redis中存儲序列化對象的最佳實踐
哪種方式更快?醃製每個記錄?或爲每條記錄創建一個字典?
第二:有沒有任何方法可以從數據庫中獲取作爲dic列表? (而不是模型obj的列表)
您可以將每個字典存儲爲Redis HASH,而不是將字典序列化爲字符串並將其存儲在Redis LIST中(這聽起來像您建議的那樣)。如果你的字典是相對簡單的鍵/值對,這應該工作得很好。在創建每個HASH之後,您可以將HASH的密鑰添加到LIST,這將爲您提供散列密鑰的索引。這種方法的好處是可以避免或減少所需的序列化數量,並且可以更容易地在其他應用程序和其他語言中使用數據集。
當然還有很多其他方法可以採用,這取決於許多因素與您正在處理的數據類型以及您打算如何使用它們有關。
如果你確實需要進行序列化,至少可以考慮使用更多的語言不可知的序列化格式,比如JSON,BSON,YAML或其他許多格式。