SpringBoot项目集成Redis
2024-09-06 23:53:10
一、在pom文件中添加依赖
<!-- 集成redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
二、在application.yml文件中配置redis
spring:
redis:
host: 127.0.0.1 #redis服务器IP地址
port: 6379 #端口号
jedis:
pool:
max-active: 8 #最大连接数
max-idle: 8 #最大空闲数
min-idle: 0 #最小空闲数
max-wait: 30000 #最大等待时间 ms(毫秒)
timeout: 50000 #连接超时时间 ms(毫秒)
database: 0 #连接的数据库
三、创建RedisConfig文件
package com.ruoyi.web.core.config;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer; /**
* @ClassName RedisConfig
* @Descrption redis序列配置
* @Author wm
* @Date 2020/1/11
* @Version 1.0
*/
@Configuration
public class RedisConfig extends CachingConfigurerSupport { @Bean
public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){
//创建RedisTemplate对象
RedisTemplate<String,Object> redisTemplate = new RedisTemplate<String,Object>();
//设置连接工厂
redisTemplate.setConnectionFactory(redisConnectionFactory);
//序列化对象
//简单的字符串序列化
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
//jdk序列化
JdkSerializationRedisSerializer jdkSerializationRedisSerializer = new JdkSerializationRedisSerializer();
//Json序列化
GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer ();
//设置String键的序列化方式
redisTemplate.setKeySerializer(stringRedisSerializer);
//设置String值的序列化方式
redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer);
return redisTemplate;
}
}
四、例子
package com.ruoyi.web.controller.test; import org.springframework.stereotype.Component; import java.io.Serializable; @Component
public class Test01 implements Serializable { private static final long serialVersionUID = 4332651162911740406L;
private String userName;
private String password;
private String phoneNum; public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getPhoneNum() {
return phoneNum;
} public void setPhoneNum(String phoneNum) {
this.phoneNum = phoneNum;
}
}
TestController
import com.ruoyi.zhibowei.service.attendance.IAttendRecordEmployeeStatisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit; /**
* @author
* @description TODO
* @create
*/
@Controller
@RequestMapping("/test")
public class TestTestController { @Autowired
private IAttendRecordEmployeeStatisService attendRecordEmployeeStatisService;
@Autowired
private RedisTemplate<String,Object> redisTemplate;
@RequestMapping("/testqj")
public void testQJAttend(){ } @RequestMapping("/demo")
@ResponseBody
public String[] demo(HttpServletRequest request){
List<Test01> userList = new ArrayList<Test01>(); Test01 user1 = new Test01();
user1.setUserName("风雅颂");
user1.setPassword("aw916132444");
user1.setPhoneNum("13874877512"); Test01 user2 = new Test01();
user2.setUserName("水雷屯");
user2.setPassword("xf82652215");
user2.setPhoneNum("15576758485"); Test01 user3 = new Test01();
user3.setUserName("天山遁");
user3.setPassword("sd555292222");
user3.setPhoneNum("13515114556"); userList.add(user1);
userList.add(user2);
userList.add(user3);
redisTemplate.opsForValue().set("userList",userList,60, TimeUnit.SECONDS);
return null;
} @RequestMapping(value="getValue",method={RequestMethod.GET,RequestMethod.POST})
@ResponseBody
public Object getValue(){
Object object = redisTemplate.opsForValue().get("userList");
return object;
} }
输出结果
最新文章
- 微信小程序 教程之引用
- UITableView在设置contentOffset的同时也reload,造成tableView的contentOffset偏差
- multipath test
- sql server2008中怎样用sql语句创建数据库和数据表
- scala的静态,单列模式
- baidu 快递查询API
- Android学习笔记(2)
- 【Winform】锐浪报表使用
- Jenkins的plugin开发
- 深入解析CSS样式层叠权重值
- 【转】学习FFmpeg API &ndash; 解码视频
- Duplicate复制数据库并创建物理StandBy(spfile版本)
- json包
- 2018.10.31 NOIP训练 锻造(方程式期望入门题)(期望dp)
- 1~n中1的和
- linux下安装python的第三方module
- windows: Python安装scipy,scikit-image时提示";no lapack/blas resources found";的解决方法
- Qt5 UI信号、槽自动连接的控件重名大坑(UI生成的槽函数存在一个隐患,即控件重名。对很复杂的控件,不要在 designer 里做提升,而是等到程序启动后,再动态创建,可以避免很多问题)
- 如何简单易懂地描述REST接口编程
- Codeforces 1008C