package com.xj.demo.common;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
/**
* Redis工具类
*/
@Service
public class RedisUtil {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
// =============================common============================
/**
* 指定缓存失效时间
*
* @param key 键
* @param time 时间(秒)
* @return
*/
public boolean expire(String key, long time) {
try {
if (time > 0) {
redisTemplate.expire(key, time, TimeUnit.SECONDS);
}
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* 根据key 获取过期时间
*
* @param key 键 不能为null
* @return 时间(秒) 返回0代表为永久有效
*/
public long getExpire(String key) {
return redisTemplate.getExpire(key, TimeUnit.SECONDS);
}
/**
* 判断key是否存在
*
* @param key 键
* @return true 存在 false不存在
*/
public boolean hasKey(String key) {
try {
return redisTemplate.hasKey(key);
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* 删除缓存
*
* @param key 可以传一个值 或多个
*/
@SuppressWarnings("unchecked")
public void del(String... key) {
if (key != null && key.length > 0) {
if (key.length == 1) {
redisTemplate.delete(key[0]);
} else {
redisTemplate.delete(CollectionUtils.arrayToList(key));
}
}
}
// ============================String=============================
/**
* 普通缓存获取
*
* @param key 键
* @return 值
*/
public Object get(String key) {
return key == null ? null : redisTemplate.opsForValue().get(key);
}
/**
* 普通缓存放入
*
* @param key 键
* @param value 值
* @return true成功 false失败
*/
public boolean set(String key, Object value) {
try {
redisTemplate.opsForValue().set(key, value);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* 普通缓存放入并设置时间
*
* @param key 键
* @param value 值
* @param time 时间(秒) time要大于0 如果time小于等于0 将设置无限期
* @return true成功 false 失败
*/
public boolean set(String key, Object value, long time) {
try {
if (time > 0) {
redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
} else {
set(key, value);
}
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* 递增
*
* @param key 键
* @param delta 要增加几(大于0)
* @return
*/
public long incr(String key, long delta) {
if (delta < 0) {
throw new RuntimeException("递增因子必须大于0");
}
return redisTemplate.opsForValue().increment(key, delta);
}
/**
* 递减
*
* @param key 键
* @param delta 要减少几(小于0)
* @return
*/
public long decr(String key, long delta) {
if (delta < 0) {
throw new RuntimeException("递减因子必须大于0");
}
return redisTemplate.opsForValue().increment(key, -delta);
}
// ================================Map=================================
/**
* HashGet
*
* @param key 键 不能为null
* @param item 项 不能为null
* @return 值
*/
public Object hget(String key, String item) {
return redisTemplate.opsForHash().get(key, item);
}
/**
* 获取hashKey对应的所有键值
*
* @param key 键
* @return 对应的多个键值
*/
public Map<Object, Object> hmget(String key) {
return redisTemplate.opsForHash().entries(key);
}
/**
* HashSet
*
* @param key 键
* @param map 对应多个键值
* @return true 成功 false 失败
*/
public boolean hmset(String key, Map<String, Object> map) {
try {
redisTemplate.opsForHash().putAll(key, map);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* HashSet 并设置时间
*
* @param key 键
* @param map 对应多个键值
* @param time 时间(秒)
* @return true成功 false失败
*/
public boolean hmset(String key, Map<String, Object> map, long time) {
try {
redisTemplate.opsForHash().putAll(key, map);
if (time > 0) {
expire(key, time);
}
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* 向一张hash表中放入数据,如果不存在将创建
*
* @param key 键
* @param item 项
* @param value 值
* @return true 成功 false失败
*/
public boolean hset(String key, String item, Object value) {
try {
redisTemplate.opsForHash().put(key, item, value);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* 向一张hash表中放入数据,如果不存在将创建
*
* @param key 键
* @param item 项
* @param value 值
* @param time 时间(秒) 注意:如果已存在的hash表有时间,这里将会替换原有的时间
* @return true 成功 false失败
*/
public boolean hset(String key, String item, Object value, long time) {
try {
redisTemplate.opsForHash().put(key, item, value);
if (time > 0) {
expire(key, time);
}
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
* 删除hash表中的值
*
* @param key 键 不能为null
* @param item 项 可以使多个 不能为null
*/
public void hdel(String key, Object... item) {
redisTemplate.opsForHash().delete(key, item);
}
/**
* 判断hash表中是否有该项的值
*
* @param key 键 不能为null
* @param item 项 不能为null
* @return true 存在 false不存在
*/
public boolean hHasKey(String key, String item) {
return redisTemplate.opsForHash().hasKey(key, item);
}
/**
* hash递增 如果不存在,就会创建一个 并把新增后的值返回
*
* @param key 键
* @param item 项
* @param by 要增加几(大于0)
* @return
*/
public double hincr(String key, String it
没有合适的资源?快使用搜索试试~ 我知道了~
springboot 实现后端接口操作Excel的导出、批量导入功能
共232个文件
xml:147个
java:32个
class:31个
需积分: 3 27 下载量 111 浏览量
2020-12-08
18:03:24
上传
评论 4
收藏 469KB RAR 举报
温馨提示
springboot 实现后端接口操作Excel的导出、批量导入功能 https://www.cnblogs.com/personblog/p/14103752.html
资源推荐
资源详情
资源评论
收起资源包目录
springboot 实现后端接口操作Excel的导出、批量导入功能 (232个子文件)
RedisUtil.class 11KB
User_infoController.class 9KB
ExcelUtil.class 8KB
ExportExcel.class 6KB
XxlJobService.class 6KB
JwtTokenUtil.class 6KB
ResultCode.class 4KB
User_infoService.class 4KB
WebConfig.class 3KB
JwtInterceptor.class 3KB
RedisConfig.class 3KB
FileUtil.class 3KB
LoginController.class 3KB
Result.class 3KB
PageResponse.class 3KB
PageRequest.class 2KB
XxlJobConfig.class 2KB
Swagger3Config.class 2KB
User_info.class 1KB
Audience.class 1KB
ExcelData.class 1KB
User_infoMapper.class 1KB
CustomException.class 1KB
DemoApplication.class 871B
UserAddRequest.class 866B
UserBatchRequest.class 854B
UserEditRequest.class 792B
User_InfoListRequest.class 558B
DemoApplicationTests.class 521B
UserInfoResponse.class 452B
JwtIgnore.class 434B
mvnw.cmd 6KB
.gitignore 395B
demo.iml 17KB
javax.persistence.jar 127KB
javax.servlet.jsp.jar 77KB
maven-wrapper.jar 50KB
javax.ejb.jar 46KB
javax.resource.jar 43KB
javax.servlet.jsp.jstl.jar 27KB
javax.jms.jar 25KB
javax.transaction.jar 9KB
RedisUtil.java 15KB
ExportExcel.java 8KB
User_infoController.java 7KB
XxlJobService.java 6KB
ExcelUtil.java 6KB
JwtTokenUtil.java 5KB
MavenWrapperDownloader.java 5KB
JwtInterceptor.java 3KB
WebConfig.java 3KB
User_infoService.java 2KB
RedisConfig.java 2KB
XxlJobConfig.java 2KB
LoginController.java 2KB
FileUtil.java 2KB
ResultCode.java 2KB
Result.java 2KB
Swagger3Config.java 1KB
Audience.java 1KB
User_info.java 1023B
User_infoMapper.java 859B
CustomException.java 780B
ExcelData.java 635B
DemoApplication.java 486B
UserAddRequest.java 419B
UserEditRequest.java 395B
PageResponse.java 386B
JwtIgnore.java 368B
User_InfoListRequest.java 352B
PageRequest.java 348B
UserBatchRequest.java 337B
DemoApplicationTests.java 210B
UserInfoResponse.java 154B
HELP.md 1KB
information_schema.FNRwLQ.meta 76B
mvnw 10KB
maven-wrapper.properties 218B
1c478711-f811-40d3-8567-2ebdff2ae306.xls 5KB
7f1bc3df-17a6-4b08-a22f-c6077f8cafaa.xml 39KB
workspace.xml 16KB
uiDesigner.xml 9KB
pom.xml 8KB
User_infoMapper.xml 2KB
User_infoMapper.xml 2KB
dataSources.local.xml 971B
compiler.xml 867B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_3_2_RELEASE.xml 769B
Maven__org_springframework_boot_spring_boot_starter_data_redis_2_3_2_RELEASE.xml 769B
Maven__org_springframework_boot_spring_boot_starter_logging_2_3_2_RELEASE.xml 748B
Maven__com_github_pagehelper_pagehelper_spring_boot_autoconfigure_1_2_3.xml 743B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_3_2_RELEASE.xml 741B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_11_1.xml 736B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_3_2_RELEASE.xml 734B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_1_1.xml 730B
Maven__org_springframework_boot_spring_boot_starter_json_2_3_2_RELEASE.xml 727B
Maven__org_springframework_boot_spring_boot_starter_test_2_3_2_RELEASE.xml 727B
Maven__org_springframework_boot_spring_boot_starter_jdbc_2_3_2_RELEASE.xml 727B
Maven__org_springframework_plugin_spring_plugin_metadata_2_0_0_RELEASE.xml 721B
Maven__org_springframework_boot_spring_boot_starter_web_2_3_2_RELEASE.xml 720B
共 232 条
- 1
- 2
- 3
资源评论
haojuntu
- 粉丝: 25
- 资源: 52
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功