博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
getHandel redis_spring-boot-starter-fast-redis
阅读量:6691 次
发布时间:2019-06-25

本文共 3954 字,大约阅读时间需要 13 分钟。

redis-spring-boot-starter

介绍

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

软件架构

依赖spring-boot-starter-data-redis

当前版本

快照版:1.6.0-SNAPSHOT (已提交中央仓库)

稳定版:1.5.2

更新说明

1.6.0-SNAPSHOT 更新如下

添加 TransactionHandler ,添加事务支持

添加 Stream 相关API

添加 ZsetHandler中 popMax 与 popMin 相关API

支持 Jedis 3.X

使用更规范的项目名,变更项目名为:redis-spring-boot-starter

稳定版将与spring-boot稳定版同步更新

安装教程

mvn clean install

文档地址

使用说明

快照版配置

pom.xml文件中添加如下配置:

org.springframework.boot

spring-boot-starter-parent

2.2.0.M4

spring-snapshots

https://repo.spring.io/snapshot

true

spring-milestones

https://repo.spring.io/milestone

稳定版配置(下一版本稳定版将更名为: redis-spring-boot-starter)

wiki.xsx

spring-boot-starter-fast-redis

1.5.2

一、准备工作

添加依赖:

wiki.xsx

redis-spring-boot-starter

X.X.X

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();

});

特别说明

@since 为redis最低版本所支持的方法,例如@since redis 1.0.0表示1.0.0的redis版本即可使用该方法

XXXAsObj为对象类型序列化相关方法,XXX为字符串类型序列化相关方法

默认使用 JsonRedisSerializer(自定义的json序列化器) 作为对象序列化工具

分布式锁需依赖 redisson ,如需使用,请添加对应依赖

redisson依赖:

org.redisson

redisson-spring-data-21

RELEASE

转载地址:http://apdoo.baihongyu.com/

你可能感兴趣的文章
ELASTICSEARCH清理过期数据
查看>>
oo第三次博客作业
查看>>
《结对-结对编项目作业名称-需求分析》
查看>>
iView3.x Anchor(锚点)组件 导航锚点
查看>>
Network --- Tcp Protocol
查看>>
sqlite效率探测
查看>>
React生命周期
查看>>
数据库 -- mysql表操作
查看>>
shutil 高级文件操作
查看>>
Itellij Idea全局搜索
查看>>
Android系统简介
查看>>
配置证书
查看>>
Oracle VM VirtualBox技巧
查看>>
uvm_svcmd_dpi——DPI在UVM中的实现(二)
查看>>
Crimm Imageshop 2.3。
查看>>
SQL AND和OR求值顺序
查看>>
买房必知的五大法律常识 助你安心顺利选房
查看>>
leetcode563
查看>>
剑指Offer 40 最小的k个数
查看>>
winform创建树形菜单的无限级分类
查看>>