我們的Google AppEngine Java應用程序涉及緩存從服務器請求信息的最近用戶。在memcache中緩存對象列表的最佳方法
當前工作的解決方案是我們存儲在一個列表中,然後將其緩存的用戶信息。
當我們需要最近的用戶時,我們只需從這個列表中抓取一個。
最近的用戶列表不是我們的應用程序的工作是至關重要的,如果它丟棄緩存它只是重建爲用戶不斷從服務器請求。
我想知道的是:我能更好地做到這一點嗎?
使用目前的方法,我們可以在列表變大(用於memcache)之前存儲一定數量的用戶(我們目前將列表限制爲1000,並在插入新時刪除最老的列表)。此外,該列表將需要非常快速地更新,其中涉及從memcache中檢索完整列表以添加單個用戶。
具有存儲在緩存中的每個用戶,我們要求當前用戶在30分鐘後到期分別是對我們有利的。目前,這是一項手動任務,我們要確保列表中不包括過期用戶。
這種情況下最好的方法是什麼?如果它將用戶單獨存儲在緩存中,跟蹤用戶的最佳方法是什麼,以便我們可以檢索它?
用戶信息非常基本,目前甚至沒有實體。該列表是一個簡單的hashmaps列表,其中一個hashmap代表一個用戶。散列表包含用戶的性別,語言,插入時間戳和用戶iOS推送通知標識符是否存在。 – Simon
HashMap聽起來像是錯誤的數據類型。 HashMap只對大量的鍵值對有效。我只是將一個「用戶」實體存儲在memcache中。 –