Memcached认知[分布式]

  Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。

  Memcached的服务器客户端通信使用简单的基于文本行的协议

  Memcached基于一个存储键/值对的hashmap。

  Memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。

  Memcached的API使用32位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当表格满了以后,接下来新增的资料会以LRU机制替换掉。

  由于数据仅存在于内存中,因此重启Memcached、重启操作系统会导致全部数据消失。

  Memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能,各个Memcached不会互相通信以共享信息。

 以上来源:百度百科

  Memcached与Redis的对比:

  ①没有必要过多的关心性能,因为二者的性能都已经足够高了。由于Redis只使用单核,而Memcached可以使用多核,所以在比较上,平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。说了这么多,结论是,无论你使用哪一个,每秒处理请求的次数都不会成为瓶颈。(比如瓶颈可能会在网卡)

  ②如果要说内存使用效率,使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。当然,这和你的应用场景和数据特性有关。

  ③如果你对数据持久化和数据同步有所要求,那么推荐你选择Redis,因为这两个特性Memcached都不具备。即使你只是希望在升级或者重启系统后缓存数据不会丢失,选择Redis也是明智的。

  因此,我们可以得出一个结论:在简单的Key/Value应用场景(例如缓存),Memcached拥有更高的读写性能;而在数据持久化和数据同步场景,Redis拥有更加强大的功能和更为丰富的数据类型;

 以上来源:Key/Value之王Memcached初探:一、掀起Memcached的盖头来

原文地址:https://www.cnblogs.com/walden1024/p/4535188.html