redis与memcached区别

Posted 壁虎漫步.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis与memcached区别相关的知识,希望对你有一定的参考价值。

不同点: 

       (1) redis中并不是所有数据在有效期内只能常驻内存的(如果需要,可定期同步持久化到磁盘),这是和memcached相比一个最大的区别(memcached中的数据在有效期内是以键值对的形式常驻内存的) 

       (2) redis不仅仅支持简单的键值对类型的数据,同时还提供list,set,hash等数据结构的存储;memcached仅支持简单的键值对类型的数据,但是memcached却可以缓存图片、视频等等数据 

       (3) redis支持数据的备份,即master-slave模式的数据备份 

       (4) redis支持数据的持久化和数据同步,可以将内存中的数据保存在磁盘中,重启系统后可以再次加载进行使用,缓存数据不会因此而丢失.memached缓存数据是常驻内存的,重启系统后数据就没了 

       (5) redis可以通过expire设定有效期,memcached在set数据的时候可以指定要缓存的数据永不过期 

       (6) redis可以做一主多从;memcached也可以做一主多从 

       (7) redis当物理内存用完时,可以将一些很久没用到的value交换到磁盘;memcached当物理内存用完后就会自动清理一些早期的数据 

  

相同点: 

       (1)redis和memcached都是将数据存放在内存中,都是内存数据库 

       (2)redis和memcached都可以做一主多从 

  

性能: 

       (1)redis根据其官方的测试结果:在50个并发的情况下请求10w次,写的速度是110000次/s,读的速度是81000次/s 

       (2)redis将键名与值的最大上限各自设定为512MB;memcached则将键名限制在250字节,值也被限制在不超过1MB,且只适用于普通字符串. 

  

何时使用memcached: 

       (1)小型静态数据:当我们需要缓存小型静态数据的时候可以考虑memcached,最具代表性的例子就是html代码片段;因为memcached的内部内存管理机制虽然不像redis的那样复杂,但却更具实际效率,这是因为memcached在处理元数据时所消耗的内存资源相对更少.作为memcached所支持的惟一一种数据类型,字符串非常适合用于保存那些只需要进行读取操作的数据,因为字符串本身无需进行进一步处理. 

以上是关于redis与memcached区别的主要内容,如果未能解决你的问题,请参考以下文章

Redis与Memcached的区别

Redis与Memcached的区别

Redis与Memcached的区别

php面试题 memcache和redis的区别

Redis与Memcached的区别

Redis与Memcached的区别