pagecache是所谓是filecache吧?
题主的问题,简单的说1、太多,不好细说。2和3,只有合适,没有最好。好像有点废话
简单来说,现在用file形式cache的概率比较低了,除非是小应用,单机部署,就可以考虑,不然集群部署的时候,file的存储读取都是大问题,并且效率来说,file有IO开销,即使是SSD的物理机(已经很快了),也没内存快。
memcache是主流已久的方案了,如果是做session什么的,或者简单的KV的缓存,很好的选择,应付绝大多数场景都OK,在这几年面对大量NOSQL的压力,也衍生了部分产品,例如memcachedb之类的,都可以用一下,但memcache的本质是缓存,极力不建议做落地存储。
redis是nosql的热门之一了,亮点一堆一堆的,不少项目直接都用来取代mc,只做kv缓存的时候,性能跟mc很接近了。很多人都看中几点,一是可持久化,单纯的mc是做不到的,二是丰富的数据结构,mc的软肋是只能key-value,而redis做队列做广播,还有竞态处理什么的都很完善。所以如果你的业务很复杂,可以考虑redis。但是但是,依然不建议作为落地存储使用
SSDB是什么。。。没接触过,原谅我比较low。。。就不多废话了,总的来说,根据具体业务来考虑用什么缓存,什么方式缓存,先找出目前性能瓶颈再说吧。