缓存和Netflix的问题

  1. 课上讲缓存的核心数据结构除了可以用HashTable外,还可以用Tree,hashtable能理解,但是想请问老师,这个Tree是怎么存缓存数据的呢 (我没有在网络上找到有用的信息。。)?

  2. Netflix的图,为什么List of list service 跟Details Service之间没有关系呢? Netflix不是一进来就是List of list service, 然后不是去Call Details Service 么?

谢谢老师

  1. 上课说了缓存一般用的是 Hashtable。提 Tree 是因为数据库一般采用 Tree 的结构,想给大家提个 tradeoff,不是建议大家用 Tree-based cache。Tree 要存缓存数据也不是不可以,就是 time complexity 偏高。可以参考 MySQL 的做法
  2. 从 request 角度上,用户会在发了 Request 到 List of List Service 之后再发一个给 Details Service。这两个 Service 之间没有 dependency - 也就是说 List of List Service 不需要 call Details Service。