package com.chenqi.springboot.redis;
import java.io.Serializable;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.ListOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.SetOperations;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.data.redis.core.ZSetOperations;
import org.springframework.stereotype.Service;
@Service
public class RedisUtils {
@Autowired
private RedisTemplate redisTemplate;
/**
* 写入缓存
* @param key
* @param value
* @return
*/
public boolean set(final String key, Object value) {
boolean result = false;
try {
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
operations.set(key, value);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 写入缓存设置时效时间
* @param key
* @param value
* @return
*/
public boolean set(final String key, Object value, Long expireTime ,TimeUnit timeUnit) {
boolean result = false;
try {
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
operations.set(key, value);
redisTemplate.expire(key, expireTime, timeUnit);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 批量删除对应的value
* @param keys
*/
public void remove(final String... keys) {
for (String key : keys) {
remove(key);
}
}
/**
* 批量删除key
* @param pattern
*/
public void removePattern(final String pattern) {
Set<Serializable> keys = redisTemplate.keys(pattern);
if (keys.size() > 0){
redisTemplate.delete(keys);
}
}
/**
* 删除对应的value
* @param key
*/
public void remove(final String key) {
if (exists(key)) {
redisTemplate.delete(key);
}
}
/**
* 判断缓存中是否有对应的value
* @param key
* @return
*/
public boolean exists(final String key) {
return redisTemplate.hasKey(key);
}
/**
* 读取缓存
* @param key
* @return
*/
public Object get(final String key) {
Object result = null;
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
result = operations.get(key);
return result;
}
/**
* 哈希 添加
* @param key
* @param hashKey
* @param value
*/
public void hmSet(String key, Object hashKey, Object value){
HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
hash.put(key,hashKey,value);
}
/**
* 哈希获取数据
* @param key
* @param hashKey
* @return
*/
public Object hmGet(String key, Object hashKey){
HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
return hash.get(key,hashKey);
}
/**
* 列表添加
* @param k
* @param v
*/
public void lPush(String k,Object v){
ListOperations<String, Object> list = redisTemplate.opsForList();
list.rightPush(k,v);
}
/**
* 列表获取
* @param k
* @param l
* @param l1
* @return
*/
public List<Object> lRange(String k, long l, long l1){
ListOperations<String, Object> list = redisTemplate.opsForList();
return list.range(k,l,l1);
}
/**
* 集合添加
* @param key
* @param value
*/
public void add(String key,Object value){
SetOperations<String, Object> set = redisTemplate.opsForSet();
set.add(key,value);
}
/**
* 集合获取
* @param key
* @return
*/
public Set<Object> setMembers(String key){
SetOperations<String, Object> set = redisTemplate.opsForSet();
return set.members(key);
}
/**
* 有序集合添加
* @param key
* @param value
* @param scoure
*/
public void zAdd(String key,Object value,double scoure){
ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();
zset.add(key,value,scoure);
}
/**
* 有序集合获取
* @param key
* @param scoure
* @param scoure1
* @return
*/
public Set<Object> rangeByScore(String key,double scoure,double scoure1){
ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();
return zset.rangeByScore(key, scoure, scoure1);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
SpringBoot集成Redis-Demo
共42个文件
class:12个
java:11个
properties:5个
5星 · 超过95%的资源 需积分: 49 150 下载量 161 浏览量
2020-08-06
23:16:11
上传
评论 4
收藏 83KB ZIP 举报
温馨提示
原创不易,感谢支持!
资源推荐
资源详情
资源评论
收起资源包目录
springboot.zip (42个子文件)
springboot
.project 562B
mvnw.cmd 5KB
mvnw 6KB
src
test
java
com
chenqi
springboot
SpringbootApplicationTests.java 342B
main
resources
application.properties 295B
mapper
master
MasterMapper.xml 322B
cluster
ClusterMapper.xml 324B
bootstrap.properties 428B
templates
static
java
com
chenqi
springboot
service
TestService.java 104B
impl
TestServiceImpl.java 593B
SpringbootApplication.java 416B
redis
RedisConfig.java 4KB
RedisUtils.java 5KB
controller
SpringBootController.java 2KB
dao
master
MasterMapper.java 101B
cluster
ClusterMapper.java 103B
config
MasterDataSourceConfiguration.java 3KB
ClusterDataSourceConfiguration.java 3KB
target
classes
application.properties 295B
mapper
master
MasterMapper.xml 322B
cluster
ClusterMapper.xml 324B
com
chenqi
springboot
service
impl
TestServiceImpl.class 1KB
TestService.class 171B
SpringbootApplication.class 805B
redis
RedisUtils.class 7KB
RedisConfig$1.class 1KB
RedisConfig.class 5KB
controller
SpringBootController.class 2KB
dao
master
MasterMapper.class 176B
cluster
ClusterMapper.class 179B
config
MasterDataSourceConfiguration.class 3KB
ClusterDataSourceConfiguration.class 3KB
bootstrap.properties 428B
test-classes
com
chenqi
springboot
SpringbootApplicationTests.class 650B
.settings
org.eclipse.m2e.core.prefs 90B
org.eclipse.jdt.core.prefs 243B
org.eclipse.core.resources.prefs 271B
.mvn
wrapper
maven-wrapper.jar 46KB
maven-wrapper.properties 110B
pom.xml 3KB
.classpath 1KB
.gitignore 268B
共 42 条
- 1
资源评论
- 商业鬼才2020-10-16没看,下错资源了,应没问啥题,简单的集成redis而已,入门级操作
JAVA_日月
- 粉丝: 229
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功