我想在客戶端緩存數據。什麼是可以使用的最佳算法/數據結構?客戶端緩存問題?
案例1.要存儲的數據需要極快的字符串搜索能力。
情況2.高速緩存的數據集可能很大。我不想爆炸客戶端的內存使用情況,也是我不想做一個網絡和磁盤訪問調用減慢我的處理時間,在客戶端
解決方案:
案例1:我認爲suffix tree/Tries在這種情況下爲您提供了一個很好的解決方案。
案例2:這兩個問題在這裏考慮的是:
- 存儲大量數據以最小的內存消耗
- 不作任何網絡電話來訪問任何數據是不具備的高速緩存。 LRU緩存模型是我能想到的一種解決方案,但這並不妨礙我膨脹內存。
有什麼辦法可以寫入文件並在不影響數據安全性的情況下訪問?
讓我知道,如果任何一點不明確。
編輯: 喬希,我知道我的要求是不現實的。爲了縮小我的需求,我正在尋找使用LRU算法的商店。如果我們可以對該LRU進行動態大小配置並且對其進行最大限制,那將會很好。這將減少進入網絡/數據庫的呼叫數量並提供良好的性能。
如果這種LRU算法對壓縮數據起作用,可以用少量開銷(但少於網絡調用)來解釋壓縮數據,它會好很多。
你是什麼意思的「快速字符串搜索」 - 確切的字符串匹配或通配符匹配?如果你需要根據一個確切的字符串找到一個元素,那麼一個hashtable可以做到這一點。 – Gandalf 2009-05-20 16:34:07
如果你有大量的字符串集合,你還會更喜歡散列表嗎? – pankajt 2009-05-20 21:04:24