Redis
redis是一个高性能的key-value数据库,与其他的key-value类型数据库的的明显区别:
- 支持数据持久化 两种方式:RDB快照和AOF日志
- 提供五种类型的数据结构存储:String、Hash、List、Set、SortedSet
- 支持主从同步
具有如下优势:性能高、支持数据类型多、操作具有原子性、特性丰富。适合对读取效率要求高、处理业务复杂及要求较高安全性的场景。
MemCache
是一个高性能分布式内存对象缓存系统,内存中维护一个巨大的哈希表,用来存储各种格式的数据,简单来讲就是讲数据调入内存中,然后从内存中读取。通常用做缓存,缓解关系数据库的压力,提升网站和应用的响应速度。一般过程如下:
- 检查缓存中是否有数据
- 如无,从数据库中读取存入缓存
- 数据库中数据变化时,要同步更新缓存中的数据
在动态系统中减轻数据库负载,提升性能,做缓存,适合多读少写的大数据量场景
Ehcache
是一个广泛使用的基于Java的分布式缓存,快速轻量、可伸缩、可扩展、可持久等诸多特性,适合对缓存访问要求很高的应用。
相关区别:
- Memcached一个value支持1M,而Redis支持512M
- Memcached只是一个内存缓存,可靠性要求不高,而Redis倾向于内存数据库,具有较高的可靠度
- 从本质上讲,Memcache只是一个单一键值对的内存缓存,而redis是一个数据结构内存数据库,支持五种数据类型,还可以处理简单的逻辑晕眩,可以作为数据库使用。