【问题标题】:How to write a caching algorithm based on object size?如何编写基于对象大小的缓存算法?
【发布时间】:2013-03-18 10:57:03
【问题描述】:

我正在尝试编写几个缓存算法,但目前我被困在基于缓存中对象大小的算法上。

根据前面的questions,我得出的结论是,没有什么好的方法可以获取对象的大小。那么基于对象大小的算法应该如何工作呢?

【问题讨论】:

  • 可以选择序列化吗?如果是,那么它可能是;序列化 -> 获取字节数 -> 你的缓存算法

标签: c# algorithm caching memory-management size


【解决方案1】:

您不能使用对象的大小来做到这一点,至少不能达到非常具体的精度。

您的选择是:

  • 使用对象大小估计(例如基于序列化对象大小) - 这可能会很慢、效率低且只能大致准确

  • 使用某种计数器作为对象大小的指示符,例如当你改变一个对象时,你增加或减少一个计数器来反映变化的大小

  • 使用其他缓存标准,例如对象插入缓存的时间或对该对象的访问请求频率

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    • 2016-03-29
    相关资源
    最近更新 更多