1. Memcached:是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库负载,它通过在内存中缓存数据和对象来减少数据库的次数,从而提高动态、数据库驱动网站的速度。Mencached基于一个存储键/值对的hashmap。Memcached作为高速运行的分布式缓存服务器具有以下的特点:协议简单;基于libevent的事件处理;内置内存存储方式;memcached不互相通信的分布式。
2. Redis:是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库,并提供多种语言的API。和Memcached类似,它支持存储的value类型相对更多,包括string,list,set(集合),zset(有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。与memcached一样,为了保证效率,数据都是缓存在内存中。区别是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
3. Memcache和redis的比较:性能方面,100k以上的数据中,memcached性能要高于redis.
内存使用率:使用简单的key-value存储的话,memcached的内存利用率更高;网络IO模型:memcached是多线程,分为监听线程、worker线程,引入锁,带来了性能损耗,redis使用单线程的IO复用模型,将速度优势发挥到最大;内存管理方面:memcached使用预分配的内存池的方式,带来一定程度的空间浪费,并且在内存仍有很大空间时新的数据也可能会剔除,而redis使用现场申请内存的方式来存储数据,不会剔除任何非临时数据redis更适合作为存储而不是cache;数据一致性方面:Memcached提供了cas命令来保证,而redis提供了事务的功能,可以保证一串命令的原子性,中间不会被任何操作打断。
4. Redis常用命令:https://www.cnblogs.com/fansik/p/5483060.html