我开发了一款只用一个注解就实现统计访问量的工具框架

大家有可能在实际开发项目中会遇到这样的情况。实现计数器功能,比如统计网站访问量、用户点击次数等。大家有可能把它放在redis里面,也有可能把它放在MYSQL里面。但是这样大家都需要动手实现很多的代码。繁琐而复杂。于是我就想在 simple-cache框架中发布一个新的注解。用于实现上面这样的功能。所以这次1.5.0更新给大家带来了两个注解。

这次V1.5.0主要更新的内容为:

  • • @RedisCount 增加访问数

  • • @RedisGetCount获取访问的值

simple-cache-spring-boot-starter [1]

请使用1.5.0版本

        <dependency>
            <groupId>io.gitee.antopen</groupId>
            <artifactId>simple-cache-spring-boot-starter</artifactId>
            <version>1.5.0</version>
        </dependency>

准备条件在博主的上一篇文章上门已经讲的很详细了,这次就不做讲解,只讲新功能

【simple-cache】一款只用一个注解就实现缓存的框架-我们终于迎来了SpringBoot版本[2]

直接在bean类的方法中添加@RedisCount @RedisGetCount注解即可。

说明:

@RedisCount 可选值

属性 类型 必须指定 默认值 描述
value string 记录key的名称,可以自定义
delta long 每调用一次方法加的步数,例如填2就是每访问一次就加2

@RedisGetCount 可选值

属性 类型 必须指定 默认值 描述
value string 记录key的名称,可以自定义

使用RedisCount注解

    @RedisCount(value = "testCount", delta = 1L)
    public void testCount() {
        System.out.println("进入testCount方法了");
    }

这个加步数的方法会在方法里面所有的步骤都执行完成之后再执行。如果里面有报错,则不会执行。所以如果想确保增加部署成功,那必须要保证方法里面不会抛出错误,不会抛出异常。例如增加了这个方法,那么redis里面就会多一个以testCount为命名的一个key Value。

我开发了一款只用一个注解就实现统计访问量的工具框架

初始值都是零,但是我们访问一次过后就会增加为一。它的步数根据上面的delta 去配置,如果配置2的话则加2,3的话再加3。

使用RedisCount注解EL表达式

@RedisCount(value = "#id", delta = 1L)
public void testCountEl(Integer id) {
    System.out.println("进入testCount方法了");
}

为了保持我们优良的传统,这次的RedisCount和RedisGetCount也支持el表达式。需要注意的是EL表达式里面的值要跟入参的入参名字是一样的。否则就不能绑定。例如上面的入场名字叫id,那么el表达式里面它的值应该也是id。

我开发了一款只用一个注解就实现统计访问量的工具框架

例如上面我们如果入仓的值是一的话,我们对应的radius里面也会增加一个1的value的值。你就说1作为这个值的key,当然,这里只是做一个举例。可以传入任何基本类型的包装类和String类。

使用RedisGetCount注解

由于上面我们已经在里面存了对应的key value值。所以说这个时候我们如果需要统计的话,也就是说在页面需要展示的话,我们就可以直接使用这个注解。在一个默认的方法上,这个方法上并不需要写很复杂的逻辑,它只是返回一个默认的值就行。


    @RedisGetCount("testCount")
    public Long getCount() {
        return 0L;
    }
我开发了一款只用一个注解就实现统计访问量的工具框架

在调用这个方法的时候,我们就可以获得它里面对应的值及访问量。

使用RedisGetCount注解EL表达式

    @RedisGetCount(value = "#id")
    public Long testgetcountel(Integer id) {
        return 0L;
    }

同样我们在这个注解中也加入了EL表达式。要以#开头,值和入参名字一样即可,可参考上面的代码实现,上面就是把1作为唯一id作为key的名称。

如果有建议欢迎提出

如果你也想为开源贡献自己的力量,欢迎加入蚂蚁开源 [3]

我开发了一款只用一个注解就实现统计访问量的工具框架

使用simple-cache的springboot版本也十分简单,只需要:

  1. 1. 引入simple-cache-spring-boot-starter依赖;

  2. 2. 在启动类加上EnableSimpleCache注解;

  3. 3. 在配置文件中填写属于你自己项目的redistemplate的bean的名称;

  4. 4. 在你的业务类方法上添加simple-cache的注解

我开发了一款只用一个注解就实现统计访问量的工具框架

引用链接

[1] simple-cache-spring-boot-starter : https://mvnrepository.com/artifact/io.gitee.antopen/simple-cache-spring-boot-starter
[2] 【simple-cache】一款只用一个注解就实现缓存的框架-我们终于迎来了SpringBoot版本: https://juejin.cn/post/7339364757386510372
[3] 蚂蚁开源 : https://gitee.com/antopen


原文始发于微信公众号(掉头发的王富贵):我开发了一款只用一个注解就实现统计访问量的工具框架

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/296938.html

(0)
Java光头强的头像Java光头强

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!