使用redis做缓存
SOFAST中RedisService使用fastjson已经进行了序列化操作,对RedisTemplate中的方法做了简化,RedisService满足多租户场景需求。在需要做缓存时只需在nacos中修改Redis连接配置,注入RedisService就可以使用它中的方法。
在nacos中application-dev.yml配置redis
######redis通用配置
redis:
# 地址
host: (改为需要连接的redis地址)
port: 23890
# 密码
password: (密码)
# 连接超时时间
timeout: 15s
jedis:
pool:
# 连接池中的最小空闲连接
min-idle: 3
# 连接池中的最大空闲连接
max-idle: 10
# 连接池的最大数据库连接数
max-active: 50
# #连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1ms
database: 10
将插入数据库结果放进Redis、从Redis中获取数据方法如下:
package com.sofast.cloud.biz.hello.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sofast.cloud.biz.hello.entity.Hello;
import com.sofast.cloud.biz.hello.mapper.HelloMapper;
import com.sofast.cloud.biz.hello.service.IHelloService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sofast.cloud.core.redis.service.RedisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
/**
* <p>
* Hello服务实现类
* </p>
*
* @author NCIT
* @date 2022-02-08
*/
@Service
public class HelloServiceImpl extends ServiceImpl<HelloMapper, Hello> implements IHelloService {
//注入RedisService
@Autowired
RedisService redisService;
/**
* 将插入结果放进缓存
*
* @param params 插入的数据库的参数
*
*/
public void cacheHello(Hello params) {
// 存入缓存
redisService.setCacheObject("Hello", params);
}
/**
* 从缓存中获取数据
*
* @param key 存入Redis的key
*
*/
public void getCacheHello(String key) {
// 获取缓存
redisService.getCacheObject(key);
}
}
需要注意: 1.因为biz-common-web中引入了so-fast-web-starter依赖,so-fast-web-starter内置了Redis依赖,因此不需要再导入依赖。 2.如果项目不需要使用Redis则需要在项目的pom中剔除Redis依赖,否则启动会报错。
#加入Sql Server驱动包依赖
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.2.0.jre8</version>
<scope>runtime</scope>
</dependency>
#剔除Mysql驱动包依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
<exclusions>
<exclusion>
<groupId>mysql</groupId>
<artifactId>mysql</artifactId>
</exclusion>
</exclusions>
</dependency>