`

JBoot中实现Redis的incrByFloat

 
阅读更多
JBoot的redis操作实例JBootRedisImpl类并没有封装Redis的incrByFloat方法,这带来了一定的不方便。但可以通过继承这个类,然后通过获取Jedis实例,调用Jedis原生方法来实现。需要注意的是Jedis调用完成后需要手动释放连接,否则会导致Redis连接池连接耗尽。

public class RedisHelper extends JBootRedisImpl{
    /**
     * 计数器,递增
     * @param key
     * @param step
     * @return
     */
    public static double incrByFloat(String key, double step){
        JbootJedisImpl jbootJedisImpl = null;
        Jedis jedis = null;
        try {
            jbootJedisImpl = (JbootJedisImpl) Jboot.me().getRedis();
            jedis = jbootJedisImpl.getJedis();
            return jedis.incrByFloat(key, step);
        } finally {
            if(jbootJedisImpl != null) {
                jbootJedisImpl.returnResource(jedis);
            }
        }
    }

    /**
     * 计数器,递减
     * @param key
     * @param step
     * @return
     */
    public static double decrByFloat(String key, double step){
        JbootJedisImpl jbootJedisImpl = null;
        Jedis jedis = null;
        try {
            jbootJedisImpl = (JbootJedisImpl) Jboot.me().getRedis();
            jedis = jbootJedisImpl.getJedis();
            return jedis.incrByFloat(key, step * -1);
        } finally {
            if(jbootJedisImpl != null) {
                jbootJedisImpl.returnResource(jedis);
            }
        }
    }
}
分享到:
评论

相关推荐

    Java实现Redis的消息订阅和发布

    通过以上步骤,你就可以在Java应用中实现Redis的消息订阅和发布了。这种机制在构建实时系统、推送服务或者构建事件驱动架构中都发挥着重要作用。同时,Redis还提供了其他高级特性,如Set、List、Hashes和Sorted Set...

    SpringBoot使用注解实现 Redis 数据库的切换.zip

    本教程将深入讲解如何在SpringBoot项目中通过注解方式实现Redis数据库的切换。 首先,我们需要理解SpringBoot与Redis的集成原理。SpringBoot提供了对Redis的自动配置支持,只需要在项目中引入`spring-boot-starter-...

    QT实现redis订阅发布功能

    在本文中,我们将深入探讨如何使用Qt框架结合hiredis-1.0.0库来实现Redis的订阅发布功能。Redis是一种高性能的键值存储系统,广泛用于数据缓存、消息队列以及实时数据处理等领域。Qt则是一个跨平台的应用程序开发...

    redis主从配置及通过keepalived实现redis自动切换

    Redis 主从配置及通过 Keepalived 实现 Redis 自动切换 标题:Redis 主从配置及通过 Keepalived 实现 Redis 自动切换 描述: Redis 主从配置及通过 Keepalived 实现 Redis 自动切换常用命令及故障分析 标签:...

    Java课程实验 编码实现 Redis 数据访问

    要在Spring Boot中实现Redis数据访问,可以按照以下步骤进行: 1.添加依赖: 在项目的 pom.xml 文件中添加Redis依赖 2.配置Redis连接信息: 在 application.properties(或 application.yml)中配置Redis连接信息 3....

    docker 实现redis集群搭建

    Redis Cluster 采用哈希分区规则中的虚拟槽分区。所有的键根据哈希函数映射到 0 ~ 16383,计算公式:slot = CRC16(key) & 16383。每一个节点负责维护一部分槽以及槽所映射的键值数据。 三、创建 Redis Docker 基础...

    java 对Redis的导入和导出

    为了在不同的服务器之间迁移或者备份Redis中的数据,我们需要实现数据的导入与导出功能。本篇将详细介绍如何使用Java来完成这一任务。 首先,要进行Redis数据的导入和导出,我们需要了解Redis的数据结构,包括字符...

    jmeter 实现redis操作.docx

    jmeter 实现 redis 操作 jmeter 实现 redis 操作是指使用 jmeter 工具来测试和操作 Redis 服务器的过程。 Redis 是一个开源的内存数据库,可以用来存储和管理数据。jmeter 是一个功能强大的测试工具,支持对 Redis ...

    Redis的Java实现redis-protocol.zip

    redis-protocol 是一个非常快速的 Redis 的 Java 客户端实现。同时还包含了嵌入式的 Redis 服务器端的 Java 实现。基于 Netty 开发。 标签:redis

    ssm+redis 实现session共享

    SSM+Redis 实现Session共享是现代Web应用中常见的技术组合,主要目的是在分布式系统中保持用户Session的一致性。SSM是指Spring、Spring MVC和MyBatis这三大Java Web开发框架的组合,而Redis则是一种高性能的键值存储...

    C++实现redis全球锁(Redlock基于Redis的分布式锁C++实现).zip

    C++实现redis全球锁(Redlock基于Redis的分布式锁C++实现)redlock-cppC++ 实现redis全球锁 redlock-cpp - C++ 中的 Redis 分布式锁基于 Salvatore Sanfilippo 的 Redlock-rb该库实现了本博文中描述的基于Redis的...

    redis+Keepalived实现Redis高可用性

    在实现Redis高可用性的过程中,首先我们需要在每台服务器上安装Redis,配置主从复制。主Redis服务器负责接收写请求,而从Redis服务器通过复制主节点的数据,提供读服务。主节点的数据更新会同步到从节点,这样即使主...

    《Redis设计和实现 黄建宏著》配套 Redis 3.0 中文注释版源码

    在中文圈,黄建宏先生所著的《Redis设计与实现》是一本广受好评的Redis学习书籍。这本书深入剖析了Redis的内部工作机制,帮助读者理解其设计原理和实现细节。现在,我们有了一份与该书配套的Redis 3.0中文注释版源码...

    SpringBoot项目中利用Redis实现系统双活_双机热备

    SpringBoot项目中利用Redis实现系统双活和双机热备是一种常见的解决方案,旨在提高服务的容错能力,防止单点故障影响整个系统的运行。本文将深入探讨如何在SpringBoot项目中配置和利用Redis来实现这一目标。 首先,...

    Redis设计与实现_redis设计与实现_

    redis设计与实现 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,...

    redis实现排行榜

    在本场景中,我们将探讨如何使用 Redis 来实现排行榜的功能,并处理相关的消息。 首先,实现排行榜的基本思路是利用 Redis 的有序集合(Sorted Set)数据类型。有序集合允许我们为每个成员(即排行榜上的用户或项目...

    无需运行服务器即可在 Python 中实现 Redis API 与使用 redis-py 完全兼容 .zip

    fakeredisredis-py 的虚假版本 文档托管于https://fakeredis.readthedocs.io/简介FakeRedis 是 Redis 协议 API 的纯 Python 实现。它为 Redis 提供了 redis-py Python 绑定的增强版本。它可以在无需实际服务器的情况...

    JFinal + Redis 实现action的数据缓存

    JFinal + Redis 实现action的数据缓存 在Controller的public void 方法上写上 @Before(RedisCacheInterceptor.class) 即可实现redis缓存 需要在Appconfig中configPlugin代码进行插件加入 RedisPlugin appRedis = ...

    .NET MVC Redis 实现简单的抢购队列

    在.NET MVC应用中,使用Redis实现抢购队列是一种高效且可扩展的解决方案。Redis作为一个高性能的键值存储系统,其支持多种数据结构,如字符串、哈希表、列表、集合等,使得它非常适合用于构建高并发场景下的队列服务...

    Qt 应用Redis 实现消息队列

    本篇文章将详细讲解如何在Qt应用程序中利用Redis来实现一个高效的消息队列,以实现点对点的生产者-消费者模式。 首先,我们需要了解Qt和Redis的基础知识。Qt是一个跨平台的C++图形用户界面库,它提供了丰富的API...

Global site tag (gtag.js) - Google Analytics