Memcache  是一套分布式缓存系统  主要对一些大型 频繁访问的网站的速度的提升

减轻数据库的负载  它通过在内存中缓存数据来减少对数据库的访问次数 从而提高了

网站的访问速度

Memcache 虽然叫分布式缓存  但是并不具备分布式功能   key-value存储

Memcache缓存存储在内存里 断电就挂了 (redis是存储在硬盘里 可以更持久化)

memcache是一个高性能的分布式的内存对象缓存系统,通过在内存李维护一个统一的巨大的hash表,它能够用来存储各式各样的数据,图像、视频、文件以及数据库检索的结果等。简单来说就是将数据调用到内存中,而后从内存中读取,从而大大提高读取速度

 

Redis:redis是一个key-value存储系统和memcache类似,但是它支持的存储类型比较多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set--有序集合)、hash(哈希)、这些数据类型都支持push/pop、add/remove

在此基础上,redis支持不同方式的排序,与memcached一样,为了保证效率,都是缓存在内存里,区别是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,在此基础上实现了master-slave(主从)同步redis的出现很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。

Memcache与redis区别:

Redis不仅仅支持简单的key-value类型的数据,同时还提供了list、set、zset、hash、等数据类型的存储

Redis支持数据的备份,即master-slave模式的数据备份

Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用

总结:redis使用最佳方式是全部数据in-memory

更多场景是作为memcached的替代者来使用

当需要除key/value之外的更多数据类型支持时,使用redis更合适

当存储的数据不能被剔除时,使用redis更合适