如何使用Erlang实现LRU Cache?
LRU Cache Wiki
最受欢迎的Github项目是fogfish/cache,但分段表不太适合我的数据。
barrel-db/erlang-lru使用了List。经过测试,如果数据量太大,速度会变慢。
我想问题可能出在这里。
我想问题可能出在这里。
move_front(List, Key) ->
[Key | lists:delete(Key, List)].
使用Java,更好的实现方法是使用hashmap和linkedlist像这样。
我曾尝试使用链表,但后来意识到在Erlang中不适合使用链表,就像这个帖子所说的那样。
问题是如何使用Erlang实现LRU缓存?