我读了维基页面上关于哈希表的内容。然后我看到了这样的事情:
哈希表可用于实现缓存,辅助数据表用于加速对主要存储在较慢介质中的数据的访问。
我想知道散列是如何加速缓存的?有人能告诉我吗?
发布于 2011-09-02 06:18:34
对缓存的每次访问都需要计算查找键的哈希代码,而缓存中的每个添加项也同样需要知道哈希代码。一个智能缓存结合了这两个操作(“按键查找;如果它不存在,那么获取正确的值并缓存它”)可能会避免两次计算哈希。
通常哈希的计算成本相对较低,而且比访问正在缓存的底层资源便宜得多.这并不是说缓存中的所有密钥都必须在每次查找时进行散列。
在某些情况下,哈希本身可以缓存-例如,在Java中,String类在第一次计算时缓存哈希代码。当然,这是否真正有益取决于你的情况。
https://stackoverflow.com/questions/7279807
复制相似问题