同属于NOSQL存储,网上流传很多memcached能做的是redis都可以做,为什么基本现在两种都火,原因他们有各自擅长的地方。
memcahed内部采用多核模式,单列运行很快。memcached采用的是key-value存储。缺点:无法持久化,数据不能备份,只能用于缓存,重启数据丢失。
redis支持多种数据类型,String,LIST,dict,set….支持持久化操作,使用两种方式进行持久化,AOF和RDB数据持久化到磁盘。从而进行数据备份和恢复等操作。防止数据丢失。
单线程请求,所有命令串行执行,并发情况下不需要考虑数据一致性问题。支持pub/sub消息订阅机制,可以用来进来消息订阅与通知。
支持简单的事务需求。
REDIS在很多方面有着跟数据库一样的特征。而memcached只是简单K-V存储。如果单纯做缓存的话memcached已经足够了。但是memcached已经很成熟,而redis相对不那么成熟。redis出现也提供了良好的选择。而数据库方面的特征mongodb更胜一筹。