当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

redis-spring-boot-starter

整合 RedisTemplate 与 StringRedisTemplate
授权协议 Apache-2.0
开发语言 Java
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 国产
投 递 者 范鸿
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

整合 RedisTemplate 与 StringRedisTemplate,开箱即用,提供更友好更完善的 API,更方便的调用,支持 Jedis、Lettuce、Redisson 等主流客户端,并且在非集群模式下支持分片操作

安装教程

mvn clean install

使用说明

一、准备工作

  1. 添加依赖:
<dependency>
    <groupId>wiki.xsx</groupId>
    <artifactId>redis-spring-boot-starter</artifactId>
    <version>RELEASE</version>
</dependency>
  1. redis配置:

yml方式:

# 默认配置
spring:
  redis:
    database: 0
    host: localhost
    password:
    port: 6379
    timeout: 0
    ssl: false
    lettuce:
      pool:
        max-wait: -1ms
        max-active: 8
        max-idle: 8
        min-idle: 0

properties方式:

# 默认配置
spring.redis.database=0
spring.redis.host=localhost
spring.redis.password=
spring.redis.port=6379
spring.redis.timeout=0
spring.redis.ssl=false
spring.redis.lettuce.pool.max-wait=1ms
spring.redis.lettuce.pool.max-active=8
spring.redis.lettuce.pool.max-idle=8
spring.redis.lettuce.pool.min-idle=0

二、开始使用

获取操作实例:

// 获取默认数据库实例(DB)
DBHandler dbHandler = RedisUtil.getDBHandler();
...

// 获取数据库索引为2的数据库实例(DB)
DBHandler dbHandler = RedisUtil.getDBHandler(2);
...

实例说明

实例 数据类型 获取方式
NumberHandler 数字(Number) RedisUtil.getNumberHandler()
RedisUtil.getNumberHandler(dbIndex)
StringHandler 字符串(String) RedisUtil.getStringHandler()
RedisUtil.getStringHandler(dbIndex)
HashHandler 哈希(Hash) RedisUtil.getHashHandler()
RedisUtil.getHashHandler(dbIndex)
SetHandler 无序集合(Set) RedisUtil.getSetHandler()
RedisUtil.getSetHandler(dbIndex)
ZsetHandler 有序集合(Zset) RedisUtil.getZsetHandler()
RedisUtil.getZsetHandler(dbIndex)
HyperLogLogHandler 基数(HyperLogLog) RedisUtil.getHyperLogLogHandler()
RedisUtil.getHyperLogLogHandler(dbIndex)
BitmapHandler 位图(Bitmap) RedisUtil.getBitmapHandler()
RedisUtil.getBitmapHandler(dbIndex)
GeoHandler 地理位置(Geo) RedisUtil.getGeoHandler()
RedisUtil.getGeoHandler(dbIndex)
KeyHandler 键(Key) RedisUtil.getKeyHandler()
RedisUtil.getKeyHandler(dbIndex)
ScriptHandler 脚本(Lua Script) RedisUtil.getScriptHandler()
RedisUtil.getScriptHandler(dbIndex)
PubSubHandler 发布订阅(Pubsub) RedisUtil.getPubSubHandler()
RedisUtil.getPubSubHandler(dbIndex)
StreamHandler 流(Stream) RedisUtil.getStreamHandler()
RedisUtil.getStreamHandler(dbIndex)
RedisUtil.getStreamHandler(dbIndex, mapper)
DBHandler 数据库(DB) RedisUtil.getDBHandler()
RedisUtil.getDBHandler(dbIndex)
SentinelHandler 哨兵(Sentinel) RedisUtil.getSentinelHandler()
RedisUtil.getSentinelHandler(dbIndex)
ClusterHandler 集群(Cluster) RedisUtil.getClusterHandler()
CustomCommandHandler 自定义命令(CustomCommand) RedisUtil.getCustomCommandHandler()
RedisUtil.getCustomCommandHandler(dbIndex)
RedisLockHandler 分布式锁(Lock) RedisUtil.getRedisLockHandler()
RedisUtil.getRedisLockHandler(dbIndex)
TransactionHandler 事务(Transaction) RedisUtil.getTransactionHandler()
RedisUtil.getTransactionHandler(dbIndex)

事务使用示例

List execute = RedisUtil.getTransactionHandler(2).execute(handler -> {
    // 开启监控
    handler.watch("xx", "test");
    // 开启事务
    handler.beginTransaction();
    // 获取对应事务字符串助手
    StringHandler stringHandler = handler.getStringHandler();
    // 执行操作
    stringHandler.set("xx", "hello");
    stringHandler.append("xx", "world");
    stringHandler.append("xx", "!");
    // 获取对应事务数字助手
    NumberHandler numberHandler = handler.getNumberHandler();
    numberHandler.addLong("test", 100);
    numberHandler.incrementLong("test");
    numberHandler.incrementLong("test");
    numberHandler.incrementLong("test");
    // 提交事务返回结果
    return handler.commit();
});

特别说明

  1. @since 为redis最低版本所支持的方法,例如@since redis 1.0.0表示1.0.0的redis版本即可使用该方法
  2. XXXAsObj为对象类型序列化相关方法,XXX为字符串类型序列化相关方法
  3. 默认使用 JsonRedisSerializer(自定义的json序列化器) 作为对象序列化工具
  4. 分布式锁需依赖 redisson ,如需使用,请添加对应依赖

redisson依赖:

<dependency>
     <groupId>org.redisson</groupId>
     <artifactId>redisson-spring-data-21</artifactId>
     <version>RELEASE</version>
</dependency>

 让 redis 的使用变得更简单!

更多 API 请查看:https://gitee.com/xsxgit/redis-spring-boot-starter

 相关资料
  • 本文向大家介绍Spring Boot整合Redis的完整步骤,包括了Spring Boot整合Redis的完整步骤的使用技巧和注意事项,需要的朋友参考一下 前言 实际 开发 中 缓存 处理是必须的,不可能我们每次客户端去请求一次 服务器 ,服务器每次都要去 数据库 中进行查找,为什么要使用缓存?说到底是为了提高系统的运行速度。将用户频繁访问的内容存放在离用户最近,访问速度最 快的 地方,提高用户的

  • 本文向大家介绍Spring Boot 整合mybatis 与 swagger2,包括了Spring Boot 整合mybatis 与 swagger2的使用技巧和注意事项,需要的朋友参考一下 之前使用springMVC+spring+mybatis,总是被一些繁琐的xml配置,有时候如果配置出错,还要检查各种xml配置,偶然接触到了spring boot 后发现搭建一个web项目真的是1分钟的事情

  • 当我使用incrBy方法时,没有异常,只有错误只有get方法 这里是stacktrace--

  • 我正在努力学习spring boot,我注意到有两种选择。 > spring-boot-starter-web-根据文档,它支持全栈web开发,包括Tomcat和web-mvc spring-Boot-Starter-Tomcat 既然#1支持Tomcat,为什么要使用#2呢? 有什么不同? 谢谢

  • 主要内容:引入依赖,配置 MyBatis,创建实体类,创建 Mapper 接口,创建 Mapper 映射文件,示例 1,注解方式MyBatis 是一个半自动化的 ORM 框架,所谓半自动化是指 MyBatis 只支持将数据库查出的数据映射到 POJO 实体类上,而实体到数据库的映射则需要我们自己编写 SQL 语句实现,相较于Hibernate 这种完全自动化的框架,Mybatis 更加灵活,我们可以根据自身的需求编写 sql 语句来实现复杂的数据库操作。 随着 Spring Boot 越来越流行

  • Spring Boot 推荐使用 Thymeleaf 作为其模板引擎。SpringBoot 为 Thymeleaf 提供了一系列默认配置,项目中一但导入了 Thymeleaf 的依赖,相对应的自动配置 (ThymeleafAutoConfiguration) 就会自动生效,因此 Thymeleaf 可以与 Spring Boot 完美整合 。 Spring Boot 整合 Thymeleaf 模板