一种使用缓存拦截器进行读写缓存的方法技术

技术编号:22363916 阅读:14 留言:0更新日期:2019-10-23 04:38
本发明专利技术公开了一种使用缓存拦截器进行读写缓存的方法,包括以下步骤:用户发起获取业务数据的请求,如果用户请求的处理方法A上面设置了缓存打标器,即可被缓存拦截器拦截,缓存打标器会对方法A进行标记,告诉系统该方法需要使用缓存。本发明专利技术进行缓存时开发人员只需专注于业务代码的编写,无需关注缓存的读写,业务代码中无需植入读写缓存代码,这样可以减少代码量,提高开发人员的开发效率,并且只需在缓存拦截器中进行一次缓存的读写代码编写,系统中任何地方都可以使用,达到“一次编写,到处可用”的效果。

A method of using cache interceptor to read and write cache

【技术实现步骤摘要】
一种使用缓存拦截器进行读写缓存的方法
本专利技术涉及读写缓存
,尤其涉及一种使用缓存拦截器进行读写缓存的方法。
技术介绍
开发人员使用缓存的时候,开发人员须在业务代码中编写读写缓存的代码,这种缓存的使用方式会导致业务代码中存在大量重复读写缓存的代码,同时也提高了系统的复杂性,降低了代码可读性,并且使开发人员无法100%精力专注到业务代码编写中。
技术实现思路
本专利技术的目的是为了解决现有技术中存在的缺点,而提出的一种使用缓存拦截器进行读写缓存的方法。为了实现上述目的,本专利技术采用了如下技术方案:一种使用缓存拦截器进行读写缓存的方法,包括以下步骤:SS01:用户发起获取业务数据的请求;SS02:如果用户请求的处理方法A上面设置了缓存打标器,即可被缓存拦截器拦截,缓存打标器会对方法A进行标记,告诉系统该方法需要使用缓存;然后系统在初始化的时候,会将所有标有缓存标记的方法记录在待缓存方法列表中,即方法A会被记录到缓存方法列表中,在系统运行的时候,系统检测到用户请求的处理方法A包含在待缓存方法列表中,缓存拦截器会对存在于待缓存方法列表中的所有方法进行拦截,最终此方法A即被事先设置好的缓存拦截器拦截;SS03:缓存拦截器拦截到用户的请求之后,根据索引设置器设置的索引字段,从索引生成器中构造缓存索引;SS04:从缓存中获取索引生成器的缓存索引对应的业务数据;SS05:如果缓存数据不为空,即为命中缓存,直接返回数据给用户;SS06:如果缓存数据为空,即为未命中缓存,调用业务数据获取接口,将接口返回数据在缓存拦截器中根据已获取的缓存索引设置到缓存中;SS07:返回最终业务数据给用户。作为上述技术方案的进一步描述:所述缓存拦截器的主要功能在于根据对标有注解标识符方法进行拦截后,根据缓存索引设置器设置的值,优先从缓存中获取数据,如果有数据则直接返回;如果没有数据,从接口中获取业务数据,并根据缓存索引,将业务数据设置到缓存中。作为上述技术方案的进一步描述:所述缓存打标器的主要功能是设置需要进行数据缓存的方法打上标志,并设置缓存的过期时间,被此打标器打标的方法将会被上述缓存拦截器拦截。作为上述技术方案的进一步描述:所述索引设置器为设置缓存索引的处理工具,且索引设置器的主要功能是设置缓存索引,所述索引生成器的主要功能是根据索引设置器的设置值,并以一定的索引规则生成最终进行读写的缓存索引。作为上述技术方案的进一步描述:所述被缓存打标器打标的方法在被缓存拦截器拦截之后,根据索引设置器的设置并由索引生成器生成索引,根据该索引从缓存库中进行读写数据,其中,缓存库为用于保存缓存数据。作为上述技术方案的进一步描述:所述步骤3中索引设置器可以生效的前提为某个方法M已使用缓存打标器打上缓存的标记,且索引生成器将会以一定规则进行缓存索引构造,其中,索引设置器在打上缓存标记的方法M的某几个方法参数上进行具体索引的设置,如方法M中包含有用户姓名的参数,则可在该参数上添加索引设置。作为上述技术方案的进一步描述:所述索引生成器的索引规则共包括四种,其中第一种索引规则为:以索引设置器设置的值为前缀,方法参数实际值为后缀,中间以英文冒号分割。作为上述技术方案的进一步描述:所述第二种索引规则为:如果索引设置器未设置任何值,则为缺省设置,方法M中所有参数的名称和值都作为一部分内容添加到缓存索引中,中间以英文冒号分割。作为上述技术方案的进一步描述:所述第三种索引规则为:如果索引设置器设置在一个复合对象参数,并且该对象的每个属性都提供了访问器方法,将需要包含到缓存索引的一个或多个属性名,将每个属性名包含到英文双引号中,中间并以逗号分割;以索引设置器设置属性名称为前缀,通过复合对象访问器方法获得的对应属性值为后缀,中间以英文冒号分割。作为上述技术方案的进一步描述:所述第四种索引规则为添加以当前系统所处环境别名和系统名称为前缀后进行最终缓存索引的生成。有益效果本专利技术提供了一种使用缓存拦截器进行读写缓存的方法。具备以下有益效果:该使用缓存拦截器进行读写缓存的方法进行缓存时开发人员只需专注于业务代码的编写,无需关注缓存的读写,业务代码中无需植入读写缓存代码,这样可以减少代码量,提高开发人员的开发效率,并且只需在缓存拦截器中进行一次缓存的读写代码编写,系统中任何地方都可以使用,达到“一次编写,到处可用”的效果。附图说明图1为本专利技术提出的一种使用缓存拦截器进行读写缓存的方法的流程图;图2为本专利技术提出的一种使用缓存拦截器进行读写缓存的方法的泳道图;图3为本专利技术中缓存组件关系图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。参照图1-3,一种使用缓存拦截器进行读写缓存的方法,包括以下步骤:SS01:用户发起获取业务数据的请求;SS02:如果用户请求的处理方法A上面设置了缓存打标器,即可被缓存拦截器拦截,缓存打标器会对方法A进行标记,告诉系统该方法需要使用缓存;然后系统在初始化的时候,会将所有标有缓存标记的方法记录在待缓存方法列表中,即方法A会被记录到缓存方法列表中,在系统运行的时候,系统检测到用户请求的处理方法A包含在待缓存方法列表中,缓存拦截器会对存在于待缓存方法列表中的所有方法进行拦截,最终此方法A即被事先设置好的缓存拦截器拦截;SS03:缓存拦截器拦截到用户的请求之后,根据索引设置器设置的索引字段,从索引生成器中构造缓存索引;SS04:从缓存中获取索引生成器的缓存索引对应的业务数据;SS05:如果缓存数据不为空,即为命中缓存,直接返回数据给用户;SS06:如果缓存数据为空,即为未命中缓存,调用业务数据获取接口,将接口返回数据在缓存拦截器中根据已获取的缓存索引设置到缓存中;SS07:返回最终业务数据给用户。缓存拦截器的主要功能在于根据对标有注解标识符方法进行拦截后,根据缓存索引设置器设置的值,优先从缓存中获取数据,如果有数据则直接返回;如果没有数据,从接口中获取业务数据,并根据缓存索引,将业务数据设置到缓存中。还可以使用第三方库或者编程语言自带拦截器进行缓存拦截器的开发。缓存打标器的主要功能是设置需要进行数据缓存的方法打上标志,并设置缓存的过期时间,被此打标器打标的方法将会被上述缓存拦截器拦截。索引设置器为设置缓存索引的处理工具,且索引设置器的主要功能是设置缓存索引,索引生成器的主要功能是根据索引设置器的设置值,并以一定的索引规则生成最终进行读写的缓存索引。还可以使用配置文件或者语言自带注解功能进行缓存打标器和索引设置器的实现。被缓存打标器打标的方法,被缓存拦截器拦截之后,根据索引设置器的设置并由索引生成器生成索引,根据该索引从缓存库中进行读写数据,其中,缓存库为用于保存缓存数据。还可以使用非关系型数据库或者使用本地虚拟机内存作为缓存库。步骤3中索引设置器可以生效的前提为某个方法M已使用缓存打标器打上缓存的标记,且索引生成器将会以一定规则进行缓存索引构造,其中,索引设置器在打上缓存标记的方法M的某几个方法参数上进行具体索引的设置,如方法M中包含有用户姓名的参数,则可在该参数上添加索引设置。索引生成器的索引规则共包括四种,其中第一种索引规则为:以索引设置器设置本文档来自技高网...

【技术保护点】
1.一种使用缓存拦截器进行读写缓存的方法,其特征在于,包括以下步骤:SS01:用户发起获取业务数据的请求;SS02:如果用户请求的处理方法A上面设置了缓存打标器,即可被缓存拦截器拦截,缓存打标器会对方法A进行标记,告诉系统该方法需要使用缓存;然后系统在初始化的时候,会将所有标有缓存标记的方法记录在待缓存方法列表中,即方法A会被记录到缓存方法列表中,在系统运行的时候,系统检测到用户请求的处理方法A包含在待缓存方法列表中,缓存拦截器会对存在于待缓存方法列表中的所有方法进行拦截,最终此方法A即被事先设置好的缓存拦截器拦截;SS03:缓存拦截器拦截到用户的请求之后,根据索引设置器设置的索引字段,从索引生成器中构造缓存索引;SS04:从缓存中获取索引生成器的缓存索引对应的业务数据;SS05:如果缓存数据不为空,即为命中缓存,直接返回数据给用户;SS06:如果缓存数据为空,即为未命中缓存,调用业务数据获取接口,将接口返回数据在缓存拦截器中根据已获取的缓存索引设置到缓存中;SS07:返回最终业务数据给用户。

【技术特征摘要】
1.一种使用缓存拦截器进行读写缓存的方法,其特征在于,包括以下步骤:SS01:用户发起获取业务数据的请求;SS02:如果用户请求的处理方法A上面设置了缓存打标器,即可被缓存拦截器拦截,缓存打标器会对方法A进行标记,告诉系统该方法需要使用缓存;然后系统在初始化的时候,会将所有标有缓存标记的方法记录在待缓存方法列表中,即方法A会被记录到缓存方法列表中,在系统运行的时候,系统检测到用户请求的处理方法A包含在待缓存方法列表中,缓存拦截器会对存在于待缓存方法列表中的所有方法进行拦截,最终此方法A即被事先设置好的缓存拦截器拦截;SS03:缓存拦截器拦截到用户的请求之后,根据索引设置器设置的索引字段,从索引生成器中构造缓存索引;SS04:从缓存中获取索引生成器的缓存索引对应的业务数据;SS05:如果缓存数据不为空,即为命中缓存,直接返回数据给用户;SS06:如果缓存数据为空,即为未命中缓存,调用业务数据获取接口,将接口返回数据在缓存拦截器中根据已获取的缓存索引设置到缓存中;SS07:返回最终业务数据给用户。2.根据权利要求1所述的一种使用缓存拦截器进行读写缓存的方法,其特征在于,所述缓存拦截器的主要功能在于根据对标有注解标识符方法进行拦截后,根据缓存索引设置器设置的值,优先从缓存中获取数据,如果有数据则直接返回;如果没有数据,从接口中获取业务数据,并根据缓存索引,将业务数据设置到缓存中。3.根据权利要求1所述的一种使用缓存拦截器进行读写缓存的方法,其特征在于,所述缓存打标器的主要功能是设置需要进行数据缓存的方法打上标志,并设置缓存的过期时间,被此打标器打标的方法将会被上述缓存拦截器拦截。4.根据权利要求1所述的一种使用缓存拦截器进行读写缓存的方法,其特征在于,所述索引设置器为设置缓存索引的处理工具,且索引设置器的主要功能是设置缓存索引,所述索引生成器的主要功能是根据索...

【专利技术属性】
技术研发人员:常恒陈洁
申请(专利权)人:政采云有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1