好长时间没写记录文章了,今天猛然发现简书的代码显示CSS风格变成了暗黑底纹,很好!很强大!
正题,以前只知道这俩货主要用作缓存,但它们之间的区别却不是很了解,实际业务当中必须要知道它们的区别,才能更有针对性的选择应用技术去解决问题,因此,下面陈述一下两者的区别。
1、memcached基本只支持简单的key-value存储,redis除key/value之外,还支持list,set,sorted set,hash等众多数据结构,提供了KEYS。
2、redis支持数据的备份,即master-slave模式的数据备份。
3、redis有数据持久化,可以定期保存到磁盘;memcache不支持,挂掉后,数据没了。
4、redis数据丢失可以通过aof恢复,memcached挂掉后,数据不可恢复。
5、redis单线程,memcached多线程。
6、memcached提供了cas命令,可以保证多个并发访问操作同一份数据的一致性问题。 redis没有提供cas 命令,不过Redis提供了事务的功能,可以保证一串命令的原子性,中间不会被任何操作打断。
7、redis除了作为存储之外还提供了一些其它方面的功能,比如聚合计算、pubsub、scripting等
8、redis是一种nosql数据库,memcached是一种数据库客户端,一种键值存储系统。