整合 RedisTemplate 与 StringRedisTemplate,开箱即用,提供更友好更完善的 API,更方便的调用,支持 Jedis、Lettuce、Redisson 等主流客户端,并且在非集群模式下支持分片操作
mvn clean install
一、准备工作
<dependency> <groupId>wiki.xsx</groupId> <artifactId>redis-spring-boot-starter</artifactId> <version>RELEASE</version> </dependency>
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(); });
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 最流行的微服务框架, 为了方便使用 java-redis-server, 添加一个starter , maven 依赖如下 <!-- https://mvnrepository.com/artifact/com.github.microwww/mocker-redis-spring-boot-starter --> <dependency> <groupId>
之前介绍了redis是什么,现在来介绍一下redis的使用 redis的使用,大部分情况下就这三种,尤其是第三种比较多 jedis 导入依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version
在跟着写尚硅谷的某个项目时,有个oss的导包问题,在站里搜了很久,基本都是错误答案。 aliyun-oss-spring-boot-starter导入依赖报错unknown。 最后在官方aliyun-spring-boot的issues里找到了答案。 https://github.com/alibaba/aliyun-spring-boot/issues/40 pom.xml <dependenc
项目中需要用到redis,主要用来作为缓存,redis的客户端有两种实现方式: 一、是可以直接调用jedis来实现。 二、是可以使用spring data redis,通过spring的封装来调用。 三、是使用spring-boot-start-redis来调用(spring-data-redis与spring-boot-starter-data-redis是啥关系啊,这么多Sping怎么搞了两个
个人改造过程记录粗略文档。 网关实现:认证、鉴权、登录/退出日志记录 登录方式:用户名密码模式、企业微信模式 1、POM文件部分: <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version> <spring-boot.version>2.1.4.RELEASE</spring-boot.version> <!-- Spring
spring配置如下 redis: database: ${REDIS_DATABASE:0} host: ${REDIS_HOST:139.223.123.123} port: ${REDIS_PORT:6379} password: ${REDIS_PASSWORD:123456} lettuce: pool: max-act
本文向大家介绍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 模板