我必須對160K左右的記錄進行查找,其中數據的形式爲 id,我們需要獲取給定的行值在range1和range2的範圍內,所以到目前爲止它在我們使用的查詢之間。內存中的緩存和數據庫之間的選擇,任何其他內存中的選項php
我昨天開始使用memcache,它發現對於給定值的特定行是否存在於memcache中,如果不是,則將它從db中放入memcache中。
我不確定在memcache本身查找的順序是什麼,是o(1)還是o(n),我知道dbsearch最多可以讓我o(log n),並且我正在考慮保留另一個層之間的一些其他內存中的對象[我現在無法想象,但我當然不想使用會話來保存表內存],而是從這個內存中獲取數據,內存對象,如果沒有找到它,那麼去數據庫。
PS - 我的數據庫表很難經歷任何改變。
所以我想的順序是 查找內存緩存中 如果沒有找到(查找在內存中 - 做陣列上的二進制搜索),並加入到內存緩存 如果沒有發現數據庫查找,添加到在內存中並添加到memcache中。
我是在正確的方向思考