我正在使用stackexchange.redis api來訪問簡單的字符串列表到Redis中。現在我需要在redis中添加/更新/刪除/獲取列表 然後訪問諸如lst.Find(h => h.Id ==「1」)的對象e.t.c 基本上是一個操作ReferenceType對象的功能。 我找不到它在那裏建立。任何人都知道我該怎麼做?Api保存/選擇引用類型列表到redis
2
A
回答
2
這是一個廣泛的主題。在Redis中存儲複雜對象有兩種方法:序列化和哈希。序列化是不透明的blob - 只有(通常)由調用應用程序解釋。我在這github issue討論這個,我懷疑你也是。哈希是單個鍵內的名稱/值對(有點像動態數據庫列,... -ish) - 這允許獲取屬性的子集等。
請注意,列表中不能有哈希值。
接下來我們有一個id查找的問題。如果您使用Redis列表,則只能按位置獲取:不是由某個屬性獲取。我懷疑你也在用RDBMS護目鏡思考Redis,但是Redis根本就不能這樣工作。
就我個人而言,每個項目都有一個按鍵,由主鍵命名。例如鍵/user/12345
。然後提取(或更新)用戶12345是通過名稱讀取(或寫入)密鑰的情況。 Redis本身不支持其他索引,但您可以使用附加的存儲手動實現索引。例如,/users/ssid
中的散列將whatever572618
映射到具有該id的用戶。
Josiah Carlson的「Redis in Action」一書可能對您瞭解如何使用Redis有用。
相關問題
- 1. 查看列表保存到redis散列
- 2. 使用Web API和AngularJS保存表格數據(選擇列表)
- 3. Redis與Mysql引擎類型的內存
- 4. 爲user_save字段保存表單API字段類型「複選框」
- 5. joomla 2.5保存多個選擇列表?
- 6. 如何在asp.net中保存下拉列表選擇的索引?
- 7. Redis:保存與列表的Javascript對象
- 8. 將選擇列表中的選定項保存到數據庫
- 9. Django表單保存或模型保存與選擇字段?
- 10. Django |保存模型的選擇列表值
- 11. 從列表中選擇一種類型
- 12. 值類型的ASP.Net MVC選擇列表
- 13. 無法保存引用類型
- 14. 從陣列中選擇PHP表格選擇值編輯/保存
- 15. python,redis:在redis上存儲一個多維列表。最好的數據類型?
- 16. Rails 4:使用嵌套模型表單保存用戶選擇
- 17. 選擇一個表保存到基於下拉選擇
- 18. 選擇下拉列表並保存到數據庫asp.net mvc
- 19. 選擇並保存列表框中的值到SQL DB
- 20. MVC3模型綁定到選擇列表
- 21. 選擇表索引的列
- 22. 將redis客戶端列表保存到文件
- 23. 數據類型保存表
- 24. NodeJS保存在Redis中的對象或列表的列表?
- 25. 使用動態表達式API選擇匿名類型
- 26. 存儲兩種類型引用的散列表陣列
- 27. 保護redis db有哪些選擇?
- 28. Redis Blocking保存
- 29. 保存Keras模型列表
- 30. 選擇Mysql引擎處理大型「類型值」表
謝謝馬克。現在我正在考慮你對MyListName/MyID這樣的鍵的建議(例如SmsInList/1)。我認爲簡單的StackExchangeRedis實現可能就足夠了。唯一的問題是我在考慮如何處理那些我正在考慮清單的情況。爲此我想我現在必須抓取所有以「MyListName /」後綴開頭的密鑰並清空它。 再次感謝 –
@Kamran注意:你應該避免使用「鍵」或「掃描」的誘惑。您可以存儲Redis的所有ID並列舉出來,但坦率地說,我首先會試圖挑戰這種需求。或者我可能會考慮將它們全部放在特定的數據庫編號中,並使用「flushdb」一次清除整個數據庫編號。 –
我曾經在一個基於StackExchange.Redis的庫[CachingFramework.Redis](https://github.com/thepirat000/CachingFramework.Redis/blob/master/COLLECTIONS.md)上進行過抽象序列化,暴露了一個[ API](https://github.com/thepirat000/CachingFramework.Redis/blob/master/COLLECTIONS.md)用於redis列表和哈希,如.NET'IList <>'和'IDictionary <,>'對象。它可能會有所幫助。 – thepirat000