猿问

正在尝试大家缓存部分,希望收集各位的聪明智慧,找到适合自己的缓存处理方法。

现在在制作一个网站框架,可以在其基础上建立各种需求的社交型网站。
正在尝试大家缓存部分,希望收集各位的聪明智慧,找到适合自己的缓存处理方法。

以下是我初步提出的想法,由于是自己没有参考别的缓存方法制作的,有点肤浅,请谅解

我的方法是使用zookeeper。
理由有两点,

  1. 首先是因为我们需要考虑分布式的环境,本来就需要使用zookeeper作为服务器状态同步的机制

  2. zookeeper解决了当前缓存存储的位置的问题

问题在于,首先zookeeper是一个使用树状形式存储并基于发布与订阅的同步。
这样的树状关系,对于数据的检索是一个复杂的问题。解决方法就需要建立很多索引表来完成一般意义的缓存数据检索。


冉冉说
浏览 138回答 1
1回答

慕哥6287543

1. local cache + zookeeper 的方案:当某个节点本地缓存变化时,通过zk将变化的缓存key通知到其他节点,其他节点收到通知后,从缓存中删除该key 或者刷新该key对应的值。好处是 本地缓存效率最高,通过zk保持多个实例的内容都是最新的(但不能保证缓存内容完全一致)缺点是 使用场景有限,而且本地缓存的弊端是缓存容量被限制在单个实例上。2. memcache + taobao文初实现的那个客户端, 解决memcache单点问题
随时随地看视频慕课网APP
我要回答