a********1 发帖数: 750 | 1 看到好多面经有这个问题,完全没概念
大家讨论讨论要如何应对?要写code吗
谢谢 |
a********1 发帖数: 750 | |
f**********t 发帖数: 1001 | 3 哇,这贴为啥会没回复?
同问。。。并且有没有好的LRU cache的code? 搜到很多但不知好不好 |
P**********c 发帖数: 3417 | 4 同问。
网上搜到的一般就是用一个hash table和一个double linked list. 但是要分布式的话
,就是把这两个一起lock. 这个是标准答案么?感觉这个分布式简单了点,而且
performance肯定也不好的。
【在 a********1 的大作中提到】 : 看到好多面经有这个问题,完全没概念 : 大家讨论讨论要如何应对?要写code吗 : 谢谢
|
W**********r 发帖数: 8927 | 5 这应该是一个Design讨论的问题,看一看现在popular的Memcached,应该是Design你的Hash table的Hash算法,能够给定一个Key,算出的Hash code也能告诉你到哪个Server去Search那的Local Cache,如果在那,Great,返回value,否则加到那个Cache里去。 |
P**********c 发帖数: 3417 | 6 Distributed?
的Hash table的Hash算法,能够给定一个Key,算出的Hash code也能告诉你到哪个
Server去Search那的Local Cache,如果在那,Great,返回value,否则加到那个Cache
里去。
【在 W**********r 的大作中提到】 : 这应该是一个Design讨论的问题,看一看现在popular的Memcached,应该是Design你的Hash table的Hash算法,能够给定一个Key,算出的Hash code也能告诉你到哪个Server去Search那的Local Cache,如果在那,Great,返回value,否则加到那个Cache里去。
|
W**********r 发帖数: 8927 | 7 Yes
Cache
【在 P**********c 的大作中提到】 : Distributed? : : 的Hash table的Hash算法,能够给定一个Key,算出的Hash code也能告诉你到哪个 : Server去Search那的Local Cache,如果在那,Great,返回value,否则加到那个Cache : 里去。
|
P**********c 发帖数: 3417 | 8 具体怎么实现distributed?
【在 W**********r 的大作中提到】 : Yes : : Cache
|
W**********r 发帖数: 8927 | 9 这可以有很多不同实现吧,比如说,你可以在Implement Hashcode的时候,高位用来标识特定的Server,或用Hashcode Mod Server#来确定特定的Server,等等。
【在 P**********c 的大作中提到】 : 具体怎么实现distributed?
|
f**********t 发帖数: 1001 | 10 memcache的方法如何实现LRU呢?非分布式可以用double linkedlist + hashtable,但
现在分布在不同server上,能也用一个double linkedlist么?如果不能的话,如何找
到Least recently used? |
|
|
P**********c 发帖数: 3417 | 11 肯定是放在一个机器上的啊。放在不同机器上的话访问太慢了吧,cache本来就是为了提速的啊。我觉得distributed意思应该是不同的thread都要访问这个cache, 就是不知道简单的lock是不是interviewer要的答案。
【在 f**********t 的大作中提到】 : memcache的方法如何实现LRU呢?非分布式可以用double linkedlist + hashtable,但 : 现在分布在不同server上,能也用一个double linkedlist么?如果不能的话,如何找 : 到Least recently used?
|
q****x 发帖数: 7404 | 12 怎么个“多看看”?上hadoop的源码是不是太夸张了? |
q****x 发帖数: 7404 | 13 那如何入手准备这样的问题呢?有什么经典教材/视频/源码可参考吗? |
q****x 发帖数: 7404 | 14
where to find out them? |
g***s 发帖数: 3811 | 15 我在以前公司就是负责分布式cache的,像上面某楼说的,每个instance都有自己的一
个备份(但不包括所有内容),所以这个难度是一个修改,所用的instances都要同步
;如果自己这个instance访问missing的内容,如果从其它地方reload到本地。这些东
西要是没有做过,是不可能让你现场构建一个出来的。
”完全独立地构架一个分布系“ 对于fresh来说,面试官并不指望你能有这个能力。你
不通过一些项目的积累,直接也很难达到这个高度。
【在 q****x 的大作中提到】 : 那如何入手准备这样的问题呢?有什么经典教材/视频/源码可参考吗?
|