HashMap 、ehcache 与 redis 在程序缓存上的用处和区别

11 篇文章 0 订阅

ehcache 当做map用

ehcache 比 redis 要快
ehcache 与java 自带map的速度差不多 ,没有比较的意义
通常我们 只要用map,或者类对象的属性即可。
但有的时候我们不得不考虑系统宕机造成的影响。
所以 我们会用可以持久化的ehcache 代替map和对象属性
如果我们的程序比较大,用到了分布式,这时候最好还要引入redis 做缓存的异地备份,甚至可以利用redis的灵活配置,做分布式缓存。

redis 的作用和优势 是批量操作

redis 如果用pipeline,进行批量写入操作,上万条数据普通计算机也就几百毫秒,写入是非常快的。
但是。。。如果不用pipeline 方式, 每秒最多进行500次set操作(加上redis连接和close 操作)

顺便说明一下

redis 只是方便实现数据容灾备份,对于数据分区备份不是特别擅长。但已经足够用了。只有海量数据才会用到spark 进行分布式数据备份,而显然大部分程序都不可能需要那么大的缓存。即使需要也只是用于第四层缓存。

缓存方案

用map和对象属性做一级缓存

如果不用map和对象属性,直接用ehcache 做一级也没有问题的。
对象数据是可以通过序列化组件直接序列化到磁盘的,也非常快的。

用ehcache 做一级或者二级缓存

主要功能:及时响应用户请求,读写缓存数据
优点:相比于map,不用手写就可以把缓存数据序列化到磁盘文件

用redis做三级缓存

主要:备份缓存数据,防止系统宕机等突发情况,用于数据快速恢复
优点:可以异地备份,一台主机挂了,其他机子还能服务。

经过初步设计和编码验证 发现完全可行,效率还不错
目前开源代码还处于研发阶段,后期会上传到马云 请大家多提意见

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值