redisson
Java语言下的Redis客户端
它还实现了很多具有分布式特性的常用工具类
使用Redisson
创建
RedissonClient
- 通过创建单机Redis服务的相关参数创建
1
2
3
4
5Config config = new Config();
// 使用单机Redis服务
config.useSingleServer().setAddress("redis://127.0.0.1:6379");
// 创建Redisson客户端
RedissonClient redisson = Redisson.create(config);
- 通过创建单机Redis服务的相关参数创建
获取
RBucket
RBucketbucket = redisson.getBucket(“reids_key”); 使用Redis命令
1
2bucket.get();
bucket.set(value, expire_time, TimeUnit);
访问不同数据类型
RMap
1 | RMap<String, String> studentRMap = redisson.getMap("studentMap"); |
RList
1 | RList<Student> studentRList = redisson.getList("studentList"); |
Mapstruct
导入依赖
- Mapstruct
- Mapstruct-processor
两个需要互相转换的实体类
需要get(),set()方法
定义转换接口
@Mapper
注解Mappers.getMapper()
构造INSTANCE
- 定义转换方法xx2xx()
1 |
|
SQL
NOW()
返回当前日期和时间,格式’YYYY-MM-DD HH:MM:SS’(用于String类型时)
1 | SELECT NOW() |
CURDATE()
返回当前日期,格式’YYYY-MM-DD’(用于String类型时)
1 | SELECT CURDATE() |
DATE_FORMAT(date, format)
1 | SELECT DATE_FORMAT('2024-10-11 15:54:04.451637','%Y-%m-%d %H:%i:%s') AS; |
UUID()
生成唯一且不规则的主键id
1 | SELECT REPLACE(UUID(), '-', '') |
>
<
>
><
<
mybatis
根据Ids批量操作
1 | and ID in |
后端
翻译字段
需要翻译的字段
例如
- folder_type目录类型(0:文件,1:目录)
- status状态(0:转码中,1:转码失败,2:转码成功)
翻译对应关系用redis缓存
返回给前端的实体类多加入翻译后的字段,如folderTypeName,statusName
翻译例:folderType = 1 翻译后 folderTypeName = 目录
前端显示folderTypeName,statusName
泛型
声明<T>
,使用T
1 |
|
类上声明的泛型类型<T>
不能用于静态方法
需要另外声明,可以取不同名加以区分,例如<K>
时间序列化
1 |
- 在
XxxRequest
中设置Date类型序列化,确保时间类型请求参数的正确反序列化 - 在
XxxDto
中设置Date类型序列化,确保时间类型响应参数的正确序列化
时间/数字类型考虑用String存
- String存储时间类型,加入处理时间格式的逻辑
- String存储数字类型,转换再做处理