共同点:内存层的操作、键值数据存储方案
都属于nosql
mc与redis区别
1.数据类型支持
mc:string
redis:String、Hash、List、Set(不重复)和Sorted Set(有序)
2.数据持久化支持
redis支持数据持久化(rdb,aof),mc不支持
Redis支持数据的备份,即master-slave模式的数据备份,mc不支持
3.内存管理机制
redis不是单纯将数据保存在内存,内存使用超过阈值时,它会把value值持久化入磁盘,内存只保存key
4.集群管理
Memcached本身并不支持分布式,因此只能在客户端通过像一致性哈希这样的分布式算法(见下一节)来实现Memcached的分布式存储。

Redis更偏向于在服务器端构建分布式存储。下图给出Redis分布式存储架构,其中节点与节点之间通过二进制协议进行通信,节点与客户端之间通过ascii协议进行通信。
为了保证单点故障下的数据可用性,Redis Cluster引入了Master节点和Slave节点。

5.线程
redis为单线程,mc为多线程
redis数据结构复杂,实现多线程要加锁,导致单个线程效率变差
mc数据结构简单,多线程更快
本文对比了Memcached(MC)与Redis两种NoSQL数据库的特点。Redis支持更多数据类型如String、Hash、List等,具备数据持久化及备份能力;而MC仅支持String且不具持久化。Redis采用单线程模型,MC为多线程。Redis在内存管理上更为智能,能将部分数据持久化至磁盘。在分布式和集群管理方面,Redis倾向于服务器端解决方案,而MC依赖客户端算法。
880

被折叠的 条评论
为什么被折叠?



