Spring Boot + MyBatis-Plus 实现 MySQL 主从复制动态数据源切换
立即下载
资源介绍:
Spring Boot + MyBatis-Plus 实现 MySQL 主从复制动态数据源切换
package com.supplier.supplierplatform.utils;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.concurrent.TimeUnit;
/**
* @Author:licy
* @Description TODO()
* @Date:2024-07-25 14:23
*/
@Service
public class RedisService {
@Resource
private RedisTemplate redisTemplate;
// 设置键值对(永久)
public void setValue(String key, String value) {
redisTemplate.opsForValue().set(key, value);
}
// 设置键值对,并指定过期时间
public void setValueWithExpire(String key, String value, long timeout, TimeUnit unit) {
redisTemplate.opsForValue().set(key, value, timeout, unit);
}
// 获取键对应的值
public String getValue(String key) {
return redisTemplate.opsForValue().get(key);
}
// 删除指定的键
public Boolean deleteKey(String key) {
return redisTemplate.delete(key);
}
// 检查键是否存在
public Boolean keyExists(String key) {
return redisTemplate.hasKey(key);
}
// 设置键的过期时间
public Boolean expireKey(String key, long timeout, TimeUnit unit) {
return redisTemplate.expire(key, timeout, unit);
}
// 获取键的剩余过期时间(单位:秒)
public Long getKeyExpire(String key) {
return redisTemplate.getExpire(key, TimeUnit.SECONDS);
}
// 自增操作
public Long increment(String key, long delta) {
return redisTemplate.opsForValue().increment(key, delta);
}
// 自减操作
public Long decrement(String key, long delta) {
return redisTemplate.opsForValue().increment(key, -delta);
}
// 如果键不存在则设置值,返回是否设置成功
public Boolean setValueIfAbsent(String key, String value) {
return redisTemplate.opsForValue().setIfAbsent(key, value);
}
// 获取指定范围内的字符串
public String getRange(String key, long start, long end) {
return redisTemplate.opsForValue().get(key, start, end);
}
// 追加字符串到键上的已有值的末尾
public Integer append(String key, String value) {
return redisTemplate.opsForValue().append(key, value);
}
// 获取并设置指定键的值
public String getAndSet(String key, String value) {
return redisTemplate.opsForValue().getAndSet(key, value);
}
// 在列表头部插入值
public Long leftPush(String key, String value) {
return redisTemplate.opsForList().leftPush(key, value);
}
// 在列表尾部插入值
public Long rightPush(String key, String value) {
return redisTemplate.opsForList().rightPush(key, value);
}
// 获取列表范围内的值
public java.util.List getList(String key, long start, long end) {
return redisTemplate.opsForList().range(key, start, end);
}
// 在集合中添加成员
public Long addToSet(String key, String... values) {
return redisTemplate.opsForSet().add(key, values);
}
// 获取集合中的所有成员
public java.util.Set getSet(String key) {
return redisTemplate.opsForSet().members(key);
}
// 在有序集合中添加成员
public Boolean addToZSet(String key, String value, double score) {
return redisTemplate.opsForZSet().add(key, value, score);
}
// 获取有序集合中指定范围内的成员
public java.util.Set getRangeByScore(String key, double min, double max) {
return redisTemplate.opsForZSet().rangeByScore(key, min, max);
}
// 删除有序集合中的成员
public Long removeFromZSet(String key, String... values) {
return redisTemplate.opsForZSet().remove(key, values);
}
}