Ehcache 和 Redis的区别有:前者操作简单易使用,存取速度快,效率更高但是不适合大型的分布式集群部署。而后者更适合用于大数据缓存,数据恢复等。
Ehcache介绍
EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点。是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。另外Spring 提供了对缓存功能的抽象:即允许绑定不同的缓存解决方案(如Ehcache),但本身不直接提供缓存功能的实现。它支持注解方式使用缓存,非常方便。
Ehcache的特点
(1)快速简单,具有多种缓存策略
(2)缓存数据有两级为内存和磁盘,缓存数据会在虚拟机重启的过程中写入磁盘
(3)可以通过RMI、可插入API等方式进行分布式缓存
(4)具有缓存和缓存管理器的侦听接口
(5)支持多缓存管理器实例,以及一个实例的多个缓存区域。并提供Hibernate的缓存实现
Redis介绍
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis是一个key-value存储系统。它支持存储的value类型很多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。Redis数据都是缓存在内存中。Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis的特点:
(1)速度快,持久化。并且Redis的所有数据都存储在内存中。
(2)支持多种数据结构例:String、List、Set、Hash、Zset
(3)支持多种编程语言例:Java、php、Python、Ruby、Lua、Node.js
(4)功能丰富 ,除了支持五种数据结构之外,还支持事务、流水线、发布/订阅、消息队列等功能。
(5)主服务器(master)执行添加、修改、删除,从服务器执行查询。
Ehcache 和 Redis 比较
Ehcache | Redis | |
存取速度 | Ehcache直接在jvm虚拟机中缓存,速度快,效率高 | Redis是通过socket访问到缓存服务,效率比ecache低 |
集群和分布式 | Ehcache有缓存共享方案,不过是通过RMI或者Jgroup多播方式进行广播缓存通知更新,缓存共享复杂,维护不方便;简单的共享可以,但是涉及到缓存恢复,大数据缓存,则不合适。 | Redis有成熟的分布式解决方案。适合大规模分布式集群部署。 |
操作复杂度 | Ehcache提供的接口非常简单明了,从Ehcache的搭建到运用运行仅仅需要的是你宝贵的几分钟。其实很多开发者都不知道自己用在用Ehcache,Ehcache被广泛的运用于其他的开源项目。比如:Hibernate | 至少需要安装服务端和客户端才能使用。操作略比Ehcache复杂一些。 |
以上就是ehcache和redis有什么区别的详细内容,更多请关注Work网其它相关文章!