2013-03-18 118 views
0

我想寫幾個緩存算法,但目前我堅持基於緩存中的對象大小的算法。如何編寫基於對象大小的緩存算法?

根據之前的questions,我得出的結論是沒有好的方法來獲得對象的大小。那麼基於對象大小的算法應該如何工作呢?

+0

序列化是一個選項嗎?如果是,那麼它可能是;序列化 - >獲取字節數 - >您的緩存算法 – Yahya 2013-03-18 11:00:49

回答

0

你不能用一個對象的大小來做到這一點,至少不是非常基本的精度。

的選項有:

  • 使用對象的大小估計(如基於序列化對象的大小) - 這可能是有點慢,效率低,只能大致準確

  • 使用某種的計數器作爲對象大小的指標,例如當您變更對象時,可以遞增或遞減計數器以反映變化的大小

  • 使用其他條件進行緩存,例如當對象t被插入緩存或訪問請求的頻率對對象進行訪問請求