package us.sep.biz.common.util;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.DataType;
import org.springframework.data.redis.core.Cursor;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.ScanOptions;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ZSetOperations.TypedTuple;
import org.springframework.stereotype.Component;
import java.util.*;
import java.util.Map.Entry;
import java.util.concurrent.TimeUnit;
/**
* Redis工具类
*
*/
@Component
public class RedisUtil {
@Autowired
private StringRedisTemplate redisTemplate;
/** -------------------key相关操作--------------------- */
/**
* 删除key
*
* @param key
*/
public void delete(String key) {
redisTemplate.delete(key);
}
/**
* 批量删除key
*
* @param keys
*/
public void delete(Collection<String> keys) {
redisTemplate.delete(keys);
}
/**
* 序列化key
*
* @param key
* @return
*/
public byte[] dump(String key) {
return redisTemplate.dump(key);
}
/**
* 是否存在key
*
* @param key
* @return
*/
public Boolean hasKey(String key) {
return redisTemplate.hasKey(key);
}
/**
* 设置过期时间
*
* @param key
* @param timeout
* @param unit
* @return
*/
public Boolean expire(String key, long timeout, TimeUnit unit) {
return redisTemplate.expire(key, timeout, unit);
}
/**
* 设置过期时间
*
* @param key
* @param date
* @return
*/
public Boolean expireAt(String key, Date date) {
return redisTemplate.expireAt(key, date);
}
/**
* 查找匹配的key
*
* @param pattern
* @return
*/
public Set<String> keys(String pattern) {
return redisTemplate.keys(pattern);
}
/**
* 将当前数据库的 key 移动到给定的数据库 db 当中
*
* @param key
* @param dbIndex
* @return
*/
public Boolean move(String key, int dbIndex) {
return redisTemplate.move(key, dbIndex);
}
/**
* 移除 key 的过期时间,key 将持久保持
*
* @param key
* @return
*/
public Boolean persist(String key) {
return redisTemplate.persist(key);
}
/**
* 返回 key 的剩余的过期时间
*
* @param key
* @param unit
* @return
*/
public Long getExpire(String key, TimeUnit unit) {
return redisTemplate.getExpire(key, unit);
}
/**
* 返回 key 的剩余的过期时间
*
* @param key
* @return
*/
public Long getExpire(String key) {
return redisTemplate.getExpire(key);
}
/**
* 从当前数据库中随机返回一个 key
*
* @return
*/
public String randomKey() {
return redisTemplate.randomKey();
}
/**
* 修改 key 的名称
*
* @param oldKey
* @param newKey
*/
public void rename(String oldKey, String newKey) {
redisTemplate.rename(oldKey, newKey);
}
/**
* 仅当 newkey 不存在时,将 oldKey 改名为 newkey
*
* @param oldKey
* @param newKey
* @return
*/
public Boolean renameIfAbsent(String oldKey, String newKey) {
return redisTemplate.renameIfAbsent(oldKey, newKey);
}
/**
* 返回 key 所储存的值的类型
*
* @param key
* @return
*/
public DataType type(String key) {
return redisTemplate.type(key);
}
/** -------------------string相关操作--------------------- */
/**
* 设置指定 key 的值
*
* @param key
* @param value
*/
public void set(String key, String value) {
redisTemplate.opsForValue().set(key, value);
}
/**
* 获取指定 key 的值
*
* @param key
* @return
*/
public String get(String key) {
return redisTemplate.opsForValue().get(key);
}
/**
* 返回 key 中字符串值的子字符
*
* @param key
* @param start
* @param end
* @return
*/
public String getRange(String key, long start, long end) {
return redisTemplate.opsForValue().get(key, start, end);
}
/**
* 将给定 key 的值设为 value ,并返回 key 的旧值(old value)
*
* @param key
* @param value
* @return
*/
public String getAndSet(String key, String value) {
return redisTemplate.opsForValue().getAndSet(key, value);
}
/**
* 对 key 所储存的字符串值,获取指定偏移量上的位(bit)
*
* @param key
* @param offset
* @return
*/
public Boolean getBit(String key, long offset) {
return redisTemplate.opsForValue().getBit(key, offset);
}
/**
* 批量获取
*
* @param keys
* @return
*/
public List<String> multiGet(Collection<String> keys) {
return redisTemplate.opsForValue().multiGet(keys);
}
/**
* 设置ASCII码, 字符串'a'的ASCII码是97, 转为二进制是'01100001', 此方法是将二进制第offset位值变为value
*
* @param key 位置
* @param value 值,true为1, false为0
* @return
*/
public boolean setBit(String key, long offset, boolean value) {
return redisTemplate.opsForValue().setBit(key, offset, value);
}
/**
* 将值 value 关联到 key ,并将 key 的过期时间设为 timeout
*
* @param key
* @param value
* @param timeout 过期时间
* @param unit 时间单位, 天:TimeUnit.DAYS 小时:TimeUnit.HOURS 分钟:TimeUnit.MINUTES
* 秒:TimeUnit.SECONDS 毫秒:TimeUnit.MILLISECONDS
*/
public void setEx(String key, String value, long timeout, TimeUnit unit) {
redisTemplate.opsForValue().set(key, value, timeout, unit);
}
/**
* 只有在 key 不存在时设置 key 的值
*
* @param key
* @param value
* @return 之前已经存在返回false, 不存在返回true
*/
public boolean setIfAbsent(String key, String value) {
return redisTemplate.opsForValue().setIfAbsent(key, value);
}
/**
* 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始
*
* @param key
* @param value
* @param offset 从指定位置开始覆写
*/
public void setRange(String key, String value, long offset) {
redisTemplate.opsForValue().set(key, value, offset);
}
/**
* 获取字符串的长度
*
* @param key
* @return
*/
public Long size(String key) {
return redisTemplate.opsForValue().size(key);
}
/**
* 批量添加
*
* @param maps
*/
public void multiSet(Map<String, String> maps) {
redisTemplate.opsForValue().multiSet(maps);
}
/**
* 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在
*
* @param maps
* @return 之前已经存在返回false, 不存在返回true
*/
public boolean multiSetIfAbsent(Map<String, String> maps) {
return redisTemplate.opsForValue().multiSetIfAbsent(maps);
}
/**
* 增加(自增长), 负数则为自减
*
* @param key
* @param increment
* @return
*/
public Long incrBy(String key, long increment) {
return redisTemplate.opsForValue().increment(key, increment);
}
/**
* 增加(自增长), 负数则为自减
*
* @param key
* @param increment
* @return
*/
public Double incrByFloat(String key, double increment) {
return redisTemplate.opsForValue().increment(
没有合适的资源?快使用搜索试试~ 我知道了~
前后端分离的考试在线报名管理系统(网上报名系统).zip
共357个文件
java:236个
vue:33个
js:30个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 181 浏览量
2022-04-25
11:41:48
上传
评论 1
收藏 3.97MB ZIP 举报
温馨提示
基于Java的前后端分离的考试在线报名管理系统(网上报名系统).zip 完整代码,可运行
资源推荐
资源详情
资源评论
收起资源包目录
前后端分离的考试在线报名管理系统(网上报名系统).zip (357个子文件)
.babelrc 402B
bootstrap.css 194KB
bootstrap.min.css 157KB
bootstrap-grid.css 66KB
bootstrap-grid.min.css 50KB
bootstrap-reboot.css 5KB
bootstrap-reboot.min.css 4KB
.editorconfig 147B
.eslintignore 51B
.eslintrc 58B
.gitignore 213B
.gitkeep 0B
index.html 2KB
favicon.ico 4KB
RedisUtil.java 33KB
UserController.java 13KB
UserExamEntryServiceImpl.java 13KB
AliyunOssUtil.java 11KB
ChineseUtil.java 10KB
ExamLocationServiceImpl.java 10KB
BizIdFactoryImpl.java 9KB
ExamDetailServiceImpl.java 9KB
UserService.java 9KB
ExamTypeServiceImpl.java 9KB
AuthController.java 8KB
UserExamEntryController.java 8KB
HttpUtils.java 8KB
ExamScoreServiceImpl.java 7KB
ipUtil.java 7KB
ExamEntryServiceImpl.java 6KB
ImageService.java 6KB
ExamEntryController.java 6KB
CsvUtil.java 6KB
ExamLocationController.java 6KB
MessageServiceImpl.java 6KB
ExamRecordServiceImpl.java 5KB
MailSendUtils.java 5KB
ExamScoreController.java 5KB
UserSubController.java 5KB
DateUtil.java 5KB
AssertUtil.java 5KB
UserInfoService.java 5KB
LogService.java 5KB
ScheduleServiceImpl.java 5KB
InitServiceImpl.java 5KB
ImageController.java 5KB
GlobalExceptionHandler.java 5KB
LogDigest.java 5KB
CarouselServiceImpl.java 4KB
UserInfoController.java 4KB
UserSubscriptionService.java 4KB
JwtAuthenticationFilter.java 4KB
ChannelServiceImpl.java 4KB
ProtoStuffSerializerUtil.java 4KB
CarouselController.java 4KB
ProtoStuffSerializerUtil.java 4KB
JwtAuthorizationFilter.java 4KB
CollectionUtils.java 4KB
JustAuthPlatformInfo.java 4KB
MajorService.java 4KB
LoggerUtil.java 3KB
SecurityConfig.java 3KB
MajorController.java 3KB
RedisConfig.java 3KB
ExcelUtil.java 3KB
ExamDetailController.java 3KB
Fileutil.java 3KB
AuthMyGitlabRequest.java 3KB
RoleService.java 3KB
PinyinUtils.java 3KB
ExamRecordController.java 3KB
ChannelController.java 3KB
MessageController.java 3KB
PageUtil.java 3KB
JwtTokenUtils.java 3KB
ExamTypeController.java 3KB
AvoidRepeatableCommitAspect.java 3KB
OperationController.java 2KB
RoleController.java 2KB
UserRoleManager.java 2KB
OperateTemplate.java 2KB
CommonController.java 2KB
JwtUser.java 2KB
RedisLock.java 2KB
DruidConfig.java 2KB
AuthStateRedisCache.java 2KB
Result.java 2KB
CustomizeException.java 2KB
ExamEntryDO.java 2KB
ExamRecordTest.java 2KB
IdTypeEnum.java 2KB
ErrorResponse.java 2KB
KanaWebApplication.java 2KB
UserExamEntryRecordServiceImpl.java 2KB
ExamEntryRecordDO.java 2KB
BizIdFactory.java 2KB
RestRequest.java 2KB
MD5Util.java 2KB
ExamDetailDO.java 2KB
UserRoleController.java 2KB
共 357 条
- 1
- 2
- 3
- 4
资源评论
智慧安全方案
- 粉丝: 3649
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功