【问题标题】:hash tables' application in cache哈希表在缓存中的应用
【发布时间】:2011-09-02 14:18:34
【问题描述】:

我阅读了关于哈希表的 wiki 页面。 然后我看到了这样的东西:

哈希表可用于实现缓存,辅助数据表用于加速对主要存储在较慢介质中的数据的访问。

我想知道哈希如何加速缓存? 有人能告诉我吗?

【问题讨论】:

    标签: caching hash


    【解决方案1】:

    对缓存的每次访问都需要计算查找键的哈希码,并且缓存的每个添加同样需要知道哈希码。结合这两种操作的智能缓存(“按键查找;如果它不存在,则获取正确的值并缓存它”)可以潜在地避免必须计算两次哈希。

    通常哈希计算起来相对便宜 - 而且比访问正在缓存的底层资源便宜得多...而且它不像 所有 缓存中的键必须在每次查找时进行哈希处理。

    在某些情况下,哈希本身可以被缓存 - 例如,在 Java 中,String 类会在哈希码首次计算时对其进行缓存。当然,这是否真的有益取决于您的情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-29
      • 2012-04-01
      • 2016-09-18
      • 2015-07-18
      • 2011-11-10
      • 2017-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多