面试题:缓存Redis与Memcached的比较 有用
Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. 它通过在内存中缓存数据和对象来减少读取数据库的次数, 从而提供动态、数据库驱动网站的速度. Memcached基于一个 存储键/值对的hashmap 。 Redis是一 个key-value存储系统 ,和Memcached类似。但是它支持存储的value类型相对更多, 包括string(字符串)、 list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型) 。 这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都 是原子性的 。在此基础上 ,redis支持各种不同方式的排序 。与memcached一样, 为了保证效率,数据都是缓存在内存中。区别的是 redis会周期 性的把更新的数据写入磁盘或者 把修改操作写入追加的记录文件 ,并且在此基础上实现了master-slave(主从)同步。 Redis是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便. 下面主要介绍一下Redis与Memcached的不同。