本文来说下RedisUtils工具类,主要介绍了整合Redis、MyBatis、封装RedisUtils工具类等知识,文中有非常详细的代码示例,对正在学习Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)的小伙伴们有很好的帮助,需要的朋友可以参考下
SpringBoot整合Redis
引入雷迪斯依赖
!-雷迪斯-
属国
groupIdorg.springframework.boot/groupId
artifact id spring-boot-starter-data-redis/artifact id
/依赖关系
设置雷迪斯的模板
RedisConfig.java
包cn。宽度。配置;
导入org。spring框架。语境。注释。豆;
导入org。spring框架。语境。注释。配置;
导入org。spring框架。数据。雷迪斯。联系。redisconnectionfactory
导入org。spring框架。数据。雷迪斯。核心。redis模板;
导入org。spring框架。数据。雷迪斯。序列化程序。分销商;
/**
* 编写配置类,构造重模板
* 这个跳羚已经帮我们配了,
* 但是默认对象,我想改成线
*/
@配置
公共类RedisConfig {
@Bean
public RedisTemplateString,Object redis template(RedisConnectionFactory工厂){
RedisTemplateString,Object template=new redis template();
template.setConnectionFactory(工厂);
//设置键的序列化方式
模板。setkeyserializer(redis erializer。string());
//设置价值的序列化方式
模板。setvalueserializer(redis erializer。JSON());
//设置混杂的键的序列化方式
模板。sethashkeyserializer(redis erializer。string());
//设置混杂的价值的序列化方式
模板。sethashvalueserializer(redis erializer。JSON());
模板。afterpropertiesset();
返回模板;
}
}
设置雷迪斯连接信息
redis操作5种常见的数据类型
雷迪斯工具类
redisTemplate API
1.opsForValue - String
2.opsForSet - Set
3.opsForHash - hash
4.opsForZset - SortSet
5 .工作列表队列
代码
包cn。宽度。util。其他;
导入org。spring框架。豆子。工厂。注释。自动连线;
导入org。spring框架。数据。雷迪斯。核心。*;
导入Java。util。列表;
导入Java。util。设置;
导入Java。util。并发。时间单位;
公共类再版{
@自动连线
private RedisTemplateString,Object redisTemplate .
私有静态double size=math。pow(2,32);
/**
* 写入缓存
* @param key
* @参数偏移位8位=1字节
* @返回
*/
公共布尔设置位(字符串键、长偏移量、布尔isShow) {
布尔结果=假;
尝试{
ValueOperationsString,对象操作=redis模板。ops for value();
operations.setBit(key,offset,is show);
结果=真;
} catch(异常e) {
e。printstacktrace();
}
返回结果;
}
/**
* 写入缓存
*
* @param key
* @参数偏移
* @返回
*/
公共布尔getBit(字符串键,长偏移量){
布尔结果=假;
尝试{
ValueOperationsString,对象操作=redis模板。ops for value();
result=operations.getBit(key,offset);
} catch(异常e) {
e。printstacktrace();
}
返回结果;
}
/**
* 写入缓存
*
* @param key
* @param值
* @返回
*/
公共布尔集(最终字符串键,对象值){
布尔结果=假;
尝试{
ValueOperationsString,对象操作=redis模板。opsforvalue();
operations.set(key,value);
结果=真;
} catch(异常e) {
e。printstacktrace();
}
返回结果;
}
/**
* 写入缓存设置时效时间
* @param key
* @param值
* @返回
*/
公共布尔集(最终字符串关键字、对象值、长过期时间){
布尔结果=假;
尝试{
ValueOperationsString,对象操作=redis模板。opsforvalue();
operations.set(key,value);
redisTemplate.expire(key,expireTime,TimeUnit .秒);
结果=真;
} catch(异常e) {
e。printstacktrace();
}
返回结果;
}
/**
* 批量删除对应的价值
*
* @param密钥
*/
公共空的移除(最终字符串.钥匙){
对于(字符串密钥:密钥){
移除(键);
}
}
/**
* 删除对应的价值
*
* @param key
*/
公共无效移除(最终字符串密钥){
if (exists(key)) {
redisTemplate.delete(键);
}
}
/**
* 判断缓存中是否有对应的价值
*
* @param key
* @返回
*/
存在公共布尔值(最终字符串键){
返回redis模板。haskey(键);
}
/**
* 读取缓存
*
* @param key
* @返回
*/
公共对象获取(最终字符串密钥){
对象结果=空
ValueOperationsString,对象操作=redis模板。ops for value();
结果=操作。get(键);
返回结果;
}
/**
* 哈希添加
*
* @param key
* @param hashKey
* @param值
*/
public void hmSet(String key,Object hashKey,Object value) {
HashOperationsString,Object,Object hash=redis template。opsforhash();
hash.put(key,hashKey,value);
}
/**
* 哈希获取数据
*
* @param key
* @param hashKey
* @返回
*/
公共对象hmGet(字符串键,对象哈希键){
HashOperationsString,Object,Object hash=redis template。opsforhash();
返回hash.get(key,hashKey);
}
/**
* 列表添加
*
* @param k
* @param v
*/
公共void lPush(字符串k,对象五){
ListOperationsString,Object list=redis template。ops for list();
list.rightPush(k,v);
}
/**
* 列表获取
*
* @param k
* @param l
* @param l1
* @返回
*/
public ListObject lRange(String k,long l,long l1) {
ListOperationsString,Object list=redis template。ops for list();
返回list.range(k,l,L1);
}
/**
* 集合添加
*
* @param key
* @param值
*/
公共void添加(字符串键,对象值){
SetOperationsString,Object set=redis template。ops forset();
set.add(key,value);
}
/**
* 集合获取
* @param key
* @返回
*/
公共SetObject集合成员(字符串键){
SetOperationsString,Object set=redis template。ops forset();
返回集合.成员(键);
}
/**
* 有序集合添加
* @param key
* @param值
* @param scoure
*/
public void zAdd(字符串键,对象值,双重搜索){
ZSetOperationsString,Object zset=redis template。opsforzset();
zset.add(key,value,score);
}
/**
* 有序集合获取
* @param key
* @param scoure
* @ param scoure1
* @返回
*/
public set object range by score(String key,double score,double score 1){
ZSetOperationsString,Object zset=redis template。opsforzset();
redis模板。opsforvalue();
返回zset.rangeByScore(key,Score,Score 1);
}
//第一次加载的时候将数据加载到雷迪斯中
公共void saveDataToRedis(字符串名称){
双指数=数学。ABS(名称。hashcode()% size);
long indexLong=new Double(index).long value();
布尔可用用户=setBit(可用用户,indexLong,true);
}
//第一次加载的时候将数据加载到雷迪斯中
公共布尔getDataToRedis(字符串名称){
双指数=数学。ABS(名称。hashcode()% size);
long indexLong=new Double(index).long value();
返回getBit(availableUsers ,index long);
}
/**
* 有序集合获取排名
* @param key集合名称
* @param值值
*/
公共Long zRank(字符串键,对象值){
ZSetOperationsString,Object zset=redis template。opsforzset();
返回zset.rank(键,值);
}
/**
* 有序集合获取排名
* @param key
*/
公共SetZSetOperations .TypedTupleObject zRankWithScore(字符串键,长开始,长结束){
ZSetOperationsString,Object zset=redis template。opsforzset();
SetZSetOperations .TypedTupleObject ret=zset。rangewithscores(key,start,end);
返回浸水使柔软
}
/**
* 有序集合添加
* @param key
* @param值
*/
public Double zSetScore(字符串键,对象值){
ZSetOperationsString,Object zset=redis template。opsforzset();
返回zset.score(key,value);
}
/**
* 有序集合添加分数
* @param key
* @param值
* @param scoure
*/
公共无效增量核心(字符串键、对象值、双重搜索){
ZSetOperationsString,Object zset=redis template。opsforzset();
zset.incrementScore(key,value,scoure);
}
/**
* 有序集合获取排名
* @param key
*/
公共SetZSetOperations .TypedTupleObject reverseZRankWithScore(字符串键,长开始,长结束){
ZSetOperationsString,Object zset=redis template。opsforzset();
SetZSetOperations .TypedTupleObject ret=zset。reverserangebyscorewithscores(key,start,end);
返回浸水使柔软
}
/**
* 有序集合获取排名
* @param key
*/
公共SetZSetOperations .TypedTupleObject reverseZRankWithRank(字符串键,长开始,长结束){
ZSetOperationsString,Object zset=redis template。opsforzset();
SetZSetOperations .TypedTupleObject ret=zset。reverserangewithscores(key,start,end);
返回浸水使柔软
}
}
到此这篇关于跳羚基础之RedisUtils工具类的文章就介绍到这了,更多相关RedisUtils工具类内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!