针对增量请求的缓存机制实现 - AOP

本文探讨了在Web应用中针对增量请求的缓存机制,详细介绍了设计思路和详细设计,包括如何处理新增数据和删除数据,并考虑了缓存粒度为1分钟时可能出现的数据重叠问题。通过AOP技术,实现缓存整合操作,确保数据一致性。
摘要由CSDN通过智能技术生成

背景:

     在web应用中,我们经常使用黑白名单,在http://blog.csdn.net/troy__/article/details/39320699 中我们实现了一个 线程安全的针对全量请求的缓存机制 ,这种技术主要是用于黑白名单的全量更新。但是我们不能经常请求全量吧,网络和数据库都会累死,所以在此我们设计实现一个 针对增量请求的缓存机制 。全量请求提供黑白名单低频度的更新,增量请求提供黑白名单高频度的更新。当然,全量和增量的应用场景也并不只是黑白名单。

设计概述:

     使用缓存的关键之一是:缓存并不能保证实时性,但它提供的是曾经出现过的某个正确状态。( csdn大量使用缓存,且失效时长过长,导致博客专区中很多操作执行后很久都得不到页面上的更新。)
     在对实时性要求、缓存效果、实现难度、业务场景这四点的权衡和折中后,我选择了增量的缓存粒度为 1分钟。意思就是说对每个1分钟内的增量进行缓存的存储。
     除此之外,我们 使用了AOP技术进行代码的复用,以及对业务代码的解耦,并且使用Annotation技术对增量方法进行标记。 

详细设计:

  1. 增量请求并不是只对增加的数据进行更新,还要对以前删除的数据进行更新。所以应该返回两个List,一个是新添加数据的List,一个是已删除数据的List。
  2. 在实际工作中,在数据库层面,对于新增
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值