ShellCached-2.0.2(缓存壳) 第二版 (统一管理EhCache、MemCached、Redis等所有的缓存机制)

  • 项目开发背景

如今大型系统开发中,为提高系统执行效率,通常会减少与数据库的交互,通常使用第三方缓存机制来储存更新频率低的数据,以提高系统的响应速度,但在这个缓存机制千奇百态的现代,我们会通常选择MemCached、EhCache、Redis等缓存机制来作为系统数据缓存,但在系统开发及使用中,我通常会遇到以下几个问题:1、缓存机制使用多样化,指在开发中各类缓存机制使用方式不一样,特别在更换缓存机制时,系统运行中变换其他缓存机制会付出很高的时间与代价,一个是开发人员的工作量,一个是之后的系统安全运行保证及测试;2、数据缓存不能分布式存储,如果缓存数据达到几十个G时,单凭一种缓存机制效率会很低,读写效率很慢,这就严重影响系统的性能;3、一旦单一的缓存机制报停了,系统的会出现异常,导致系统当掉,无法保证系统持续安全的运行;4、开发系统中程序员经常性考虑缓存数据的状态,是否是与数据库到达一致的;因此在这个缓存机制多样化的现代,我们必须统一化所有的缓存机制使用,以及各类缓存机制的统一管理调用就成为我们将要解决的问题。这样就孕育而出了我们这个产品ShellCached,ShellCached指缓存的壳,类似将所有各类缓存机制管理起来,统一分发与调用,可以将数据存储在不同的缓存机制中,达到分压的效果,而且帮我们统一化了使用注释方式来管理我们的数据存储状态,我们无需关注数据的存储状态。

 

  • 项目目的

本次项目开发的目的主要有如下:

  1. 声明式统一管理缓存数据状态

指开发人员无需在缓存数据的状态中浪费太多开发时间,提高开发效率。

  1. 多样化缓存数据分压式存储

指可以保证高效读写的同时缓存海量数据,以配置型增加卸掉某种缓存机制。

  1. 缓存存储记忆恢复

指的是当系统重新运行时,ShellCached可以恢复一对一的存储数据源,而不需重新装载。

  1. 兼容间断某缓存当掉

指的是当在所有的缓存机制池中,允许间断间缓存机制出问题,不影响系统本身的正常运行。

 

项目优缺点:目前只支持与Spring无缝兼容,但已经兼容了MemCached、EhCache、Redis缓存机制,如果有需要可以扩展其他的缓存机制

 

  • 项目概述

  1. 缓存机制接口对象介绍(com.shell.cached.Cache)

统一定义缓存对象的接口类,具体包括如下方法:

public boolean add(String key,Object object);

添加缓存对象,key 唯一名,key存在时,返回false

public boolean add(String key,Object object,Integer time);

添加缓存对象,time 存活时间,秒位单位

public <K> K get(String key);

取得对象,key 唯一名

public boolean put(String key,Object object);

添加缓存对象,存在时便会替换,key 唯一名,key存在时,返回true

public boolean put(String key,Object object,Integer time);

添加缓存对象,存活时间,秒位单位

public boolean repl(String key,Object object);

替换缓存对象key 唯一名,key不存在时,返回false

public boolean repl(String key,Object object,Integer time);

替换缓存对象key 唯一名,存活时间,秒位单位

public boolean del(String key);

删除缓存对象

public boolean dels(String wildKey);

通配符批量删除缓存对象

public boolean exist(String key);

是否存在对象

public boolean isUse();

是否能连接使用

2.各缓存机制的客户端管理类(com.shell.cached.manager.Manager<T>)

待定

3.缓存注释解析器(com.shell.cached.parser.CahcheParser)

4.管理各种缓存对象池(com.shell.cached.pool.CachePool)

CachePool.GET().getMaster()

获取主机缓存

CachePool.GET().printLog()

打印缓存池信息

  • 项目缓存使用

  1. @CacheClean

  1. @CacheGain

  1. @CacheReplac

请点击我(如果需要指导,请联系550110979)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值