[发明专利]缓存方法在审
申请号: | 202110984986.0 | 申请日: | 2021-08-26 |
公开(公告)号: | CN113434517A | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 范玉才 | 申请(专利权)人: | 中博信息技术研究院有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455 |
代理公司: | 常州佰业腾飞专利代理事务所(普通合伙) 32231 | 代理人: | 陈红桥 |
地址: | 210000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 缓存 方法 | ||
本发明涉及数据缓存技术领域,提供一种缓存方法,包括以下步骤:定义一个通用的缓存操作接口类;定义多个缓存实现类,其中,每个所述缓存实现类实现所述缓存操作接口类中的缓存存取方法;实例化每个所述缓存实现类并对每个实例进行命名,得到相应的多个缓存提供者;将每个所述缓存提供者放入缓存提供者容器;在接收到缓存操作请求后,从所述缓存提供者容器中选择缓存提供者进行缓存操作。本发明能够大大提高缓存实现的方便性。
技术领域
本发明涉及数据缓存技术领域,具体涉及一种缓存方法。
背景技术
数字时代背景下,越来越多的线下业务搬到了线上,数字化转型成为当前各个企业的重点任务,为了降低用户访问系统响应时间,缓存技术成为一项重要的技术手段,为了更加快速响应用户请求,将热点数据、配置数据、元数据等进行高速缓存,以减少对低速设备的请求。当前主流开发流程中可以选择使用Redis、Memcache等分布式缓存、Ehcache类的本地缓存或者直接在代码中使用内存作为缓存,不同的缓存选择,对应的编码方式也各不相同,一般项目开发中会先确定一个使用的缓存类型,然后针对性的开发对应的工具类供业务代码调用。当需要实现多级缓存,则需要同时开发多个工具类,开发人员使用时需要了解各个缓存的优先级,然后通过不同的工具类进行操作和处理。
虽然每个类型的缓存对应地有个工具类供开发人员使用,但是使用不同的类型需要使用不同的工具类,因此就存在以下缺陷:(1)由于开发人员的业务代码使用了具体的工具类,这是高耦合的编码方式,当需要改变缓存类型时,则所有的相关代码都需要修改;(2)不同的缓存类型提供的开发SDK(Software Development Kit,软件开发工具包)中方法名、参数等各不相同,需要开发人员掌握各种类型缓存的使用方法,增加了对开发人员水平的要求;(3)系统中存在多个缓存时需要实现多级缓存的机制,需要开发人员手动编码,逻辑复杂、工作量大、业务逻辑繁琐,且整个代码与业务代码紧耦合。
发明内容
本发明为解决上述技术问题,提供了一种缓存方法,能够大大提高缓存实现的方便性。
本发明采用的技术方案如下:
一种缓存方法,包括以下步骤:定义一个通用的缓存操作接口类;定义多个缓存实现类,其中,每个所述缓存实现类实现所述缓存操作接口类中的缓存存取方法;实例化每个所述缓存实现类并对每个实例进行命名,得到相应的多个缓存提供者;将每个所述缓存提供者放入缓存提供者容器;在接收到缓存操作请求后,从所述缓存提供者容器中选择缓存提供者进行缓存操作。
多个所述缓存实现类包括MemoryCache、RedisCache、DatabaseCache、EhCache中的一个或多个。
所述缓存操作请求包括获取、更新或删除缓存的请求。
在从所述缓存提供者容器中选择缓存提供者进行缓存操作之前,还包括:定义一个缓存管理器,所述缓存管理器用以管理多个所述缓存提供者,并配置所述多个缓存提供者中的一个缓存提供者作为默认缓存提供者;定义一个缓存代理类,所述缓存代理类实现所述缓存操作接口类中的缓存存取方法。
从所述缓存提供者容器中选择缓存提供者进行缓存操作,具体包括:所述缓存代理类通过所述缓存管理器获取所有的缓存提供者,并对所获取的多个缓存提供者按照优先级进行排序;根据排序遍历多个缓存提供者以查找目标缓存值;在查找到所述目标缓存值后,判断所述目标缓存值所在的缓存提供者是否优先级最高;如果所述目标缓存值所在的缓存提供者优先级最高,则直接返回所述目标缓存值;如果所述目标缓存值所在的缓存提供者优先级不是最高,则保存一份所述目标缓存值至优先级最高的缓存提供者中,并返回所述目标缓存值。
本发明的有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中博信息技术研究院有限公司,未经中博信息技术研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110984986.0/2.html,转载请声明来源钻瓜专利网。