redis-spring-boot-starter 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
redis-spring-boot-starter 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
redis-spring-boot-starter 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
redis-spring-boot-starter 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
redis-spring-boot-starter 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache-2.0
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发常用工具包
开源组织
地区 国产
投 递 者 oXSXo
适用人群 未知
收录时间 2019-06-13

软件简介

整合 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

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
发表于大前端专区
2019/10/17 10:57

redis-spring-boot-starter 2.2.0 发布

redis-spring-boot-starter(原spring-boot-starter-fast-redis) 2.2.0发布 本次更新如下: 1.使用更规范的项目名称 2.支持jedis 3.X客户端 3.新增Stream API 4.新增事务助手 5.完善自定义命令 API

0
12
发表于服务端专区
2019/06/13 15:53

spring-boot-starter-fast-redis v1.5.1 发布

1.优化代码 2.修改默认RedisTemplate,默认使用StringRedisSerializer作为key,FastJsonRedisSerializer作为value,方便大家使用gui工具查询数据 3.添加fastjson依赖

13
10
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于软件架构专区
2018/04/03 09:48

Spring Boot--自定义Starter之spring-boot-starter-quartz

# 痛点 在Spring中使用计划任务,有两种方案可供选择:一、用Spring原生的计划任务,使用起来非常简单,只需要用到@Scheduled注解即可;二、集成Quartz来做计划任务,需要配置大量的Quartz原生类。 对于第一种来说,局限性在于不支持计划任务的集群,如果有多个计划任务的项目一起启动的话,每个JVM都会执行一遍预定时间的计划任务。对于Quartz来说,可以通过集群来保证在预定的时间点只会执行一次对应的计划任务。 这里有一个问...

0
4
发表于软件架构专区
2019/08/07 15:28

spring boot starter

spring boot stater: 原生spring boot系统包含了很多默认的starter。例如rabbit,jdbc等等。 都在spring-boot-autoconfigure中申明了。对应的spring.factories中都有相应的XXXAutoConfiguration的申明。在系统启动时候回主动去加载符合条件的Configuration完成初始化。 自动配置,基于java代码的bean配置,通过@Configuration,@Bean这两个注解一起使用可以创建一个基于java代码的配置,替代相应的xml配置。 在XXXAutoConfigurat...

0
0
2020/01/11 23:31

[Spring Boot] 自定义 Spring Boot Starter

[Spring Boot] 自定义 Spring Boot Starter 简介 在了解了Spring Boot的自动装配原理后,我们来实现一个Spring Boot常见的Starter项目 准备工作summer-boot-hello-starter 定义申明自动装配配置类Starter 定义申明编写测试项目总结更多 手机用户请横屏获取最佳阅读体验,REFERENCES中是本文参考的链接,如需要链接和更多资源,可以关注其他博客发布地址。 平台 地址 CSDN https://blog.csdn.net/sinat_28690417 简书 https://ww...

0
0
发表了博客
2018/04/09 11:30

Spring Boot Starter列表

转自:http://blog.sina.com.cn/s/blog_798f713f0102wiy5.html Spring Boot Starter 基本的一共有43种,具体如下: 1)spring-boot-starter   这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。 2)spring-boot-starter-amqp   通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol)。 3)spring-boot-starter-aop   支持面向方面的编程即AOP,包括spring-aop和AspectJ。 4)spring-boot-sta...

0
0
2020/08/10 20:19

自定义Spring-boot-starter

本文以Jedis举例 # pom引入依赖 ``` com.bozhon redis-spring-boot-starter 1.0-SNAPSHOT redis-spring-boot-starter org.springframework.boot spring-boot-starter-parent 2.1.1.RELEASE UTF-8 1.8 1.8 org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-configuration-processor 2.1.1.RELEASE true redis.clients jedis 2.9.0 ``` # JedisProperties ``` @ConfigurationProperties(pref...

0
0
发表了博客
2018/07/04 22:06

spring boot starter是什么

参考自:https://www.cnblogs.com/EasonJim/p/7615801.html Spring Boot中Starter是什么 比如我们要在Spring Boot中引入Web MVC的支持时,我们通常会引入这个模块spring-boot-starter-web,而这个模块如果解压包出来会发现里面什么都没有,只定义了一些POM依赖。 经过研究,Starter主要用来简化依赖用的。比如我们之前做MVC时要引入日志组件,那么需要去找到log4j的版本,然后引入,现在有了Starter之后,直接用这个之后,log4j...

0
1
发表了博客
2020/03/23 10:31

Spring Boot 自定义 Starter

认识 Spring Boot 中的自动化配置,并手把手带你写一个自己的 Starter 。 1 认识 Starter Spring Boot 中的 Starter 为我们完成了很多自动化配置,使得我们可以很轻松的搭建一个生产级的开发环境。其实 Starter 并不难,都是 Spring + Spring MVC 中的基础知识点实现的,他的核心就是条件注解 @Conditional ,当 classpath 下存在某个 Class 时,某个配置才会生效。 除了 Spring Boot 官方提供的 Starter 之外,第三方公司的功能...

0
0
发表了博客
2018/08/12 21:18

Spring Boot (一): Spring Boot starter自定义

前些日子在公司接触了spring boot和spring cloud,有感于其大大简化了spring的配置过程,十分方便使用者快速构建项目,而且拥有丰富的starter供开发者使用。但是由于其自动化配置的原因,往往导致出现问题,新手无法快速定位问题。这里我就来总结一下spring boot 自定义starter的过程,相信大家看完这篇文章之后,能够对spring boot starter的运行原理有了基本的认识。  为了节约你的时间,本篇文章的主要内容有: spring boot ...

0
0
2018/11/29 18:31

spring boot starter

推荐

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于大前端专区
2020/05/04 19:15

spring boot redis lettuce高并发链接超时

我使用的是 spring-boot-starter-data-redis,具体配置如下: pom.xml: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>2.8.0</version> ...

8
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
21 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部