SpringBoot 整合redis
SpringBoot 整合 redis 之Pom配置文件
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.5</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.Alan</groupId> <artifactId>SpringBootDataRedis</artifactId> <version>0.0.1-SNAPSHOT</version> <name>SpringBootDataRedis</name> <description>SpringBootDataRedis</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!--springboot的启动器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--thymeleaf 的启动器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!--springboot data redis的启动器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!--对redis 客户端的 jedis 包的引入。高版本 已经不是自动引入该包。需要手动在pom文件中增加该包配置信息--> <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.6.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
设置 Java调用redis 的配置信息
RedisConfig.java
package com.alan.SpringBootDataRedis.config; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.StringRedisSerializer; import redis.clients.jedis.JedisPoolConfig; /* * Todo * 完成对redis 的整合一些配置 * @author: Alan_liu * @date 2021/5/5 21:54 */ @Configuration public class RedisConfig { /*** * 1:创建 JedispoolConfig 对象。在该对象中完成一些连接池配置 * * @param * @return {@link JedisPoolConfig} * @throws * @user Alan_liu * @date 2021/5/5 22:18 */ @Bean public JedisPoolConfig jedispoolConfig(){ JedisPoolConfig config=new JedisPoolConfig(); //最大空闲数 config.setMaxIdle(10); //最大空闲数 config.setMaxIdle(5); //最大链接数 config.setMaxTotal(20); return config; } /*** * 2:创建 JedisConnectionFactory:配置redis链接信息 * * @param null * @return {@link } * @throws * @user Alan_liu * @date 2021/5/5 22:18 */ @Bean public JedisConnectionFactory jedisConnectionFactory(JedisPoolConfig config){ JedisConnectionFactory factory=new JedisConnectionFactory(); //关联连接池的配置对象 factory.setPoolConfig(config); //配置链接redis的信息 factory.setHostName("127.0.0.1");//主机地址 factory.setPort(6379);//端口 factory.setPassword("123456");//设置密码 // factory.setDatabase(0);//访问操作redis数据库。以0到13的序号为下标。如果不设置,默认为第0个库 return factory; } /*** * 3:创建redisTemplate:用于执行redis操作的方法 * * @param * @return {@link RedisTemplate< String, Object>} * @throws * @user Alan_liu * @date 2021/5/5 22:38 */ @Bean public RedisTemplate<String,Object> redisTemplate( JedisConnectionFactory factory){ RedisTemplate<String ,Object> template=new RedisTemplate<>(); //关联 template.setConnectionFactory(factory); //为key设置序列号器 template.setKeySerializer(new StringRedisSerializer()); //为value 设置序列号器 template.setValueSerializer(new StringRedisSerializer()); return template; } }
SpringBootDataRedisApplication
package com.alan.SpringBootDataRedis; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringBootDataRedisApplication { public static void main(String[] args) { SpringApplication.run(SpringBootDataRedisApplication.class, args); } }
SpringBootDataRedisApplicationTests
package com.alan.SpringBootDataRedis; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class SpringBootDataRedisApplicationTests { @Test void contextLoads() { } }
测试调用情况
RedisTest
package com.alan.SpringBootDataRedis; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /* * Springboot redis 测试类 * * @author: Alan_liu * @date 2021/5/23 22:01 */ @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes=SpringBootDataRedisApplication.class) public class RedisTest { @Autowired private RedisTemplate<String,Object> redisTemplate; // 添加1个字符 @Test public void testSet(){ this.redisTemplate.opsForValue().set("SpringBootRedisTestKey","AlanLiu"); } //取出一个字符串 @Test public void testGet(){ String value= (String) this.redisTemplate.opsForValue().get("SpringBootRedisTestKey"); System.out.println(value); } }
执行测试结果:
为人:谦逊、激情、博学、审问、慎思、明辨、 笃行
学问:纸上得来终觉浅,绝知此事要躬行
为事:工欲善其事,必先利其器。
态度:道阻且长,行则将至;行而不辍,未来可期
.....................................................................
------- 桃之夭夭,灼灼其华。之子于归,宜其室家。 ---------------
------- 桃之夭夭,有蕡其实。之子于归,宜其家室。 ---------------
------- 桃之夭夭,其叶蓁蓁。之子于归,宜其家人。 ---------------
=====================================================================
* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。 * @author Alan -liu * @Email no008@foxmail.com
转载请标注出处! ✧*꧁一品堂.技术学习笔记꧂*✧. ---> https://www.cnblogs.com/ios9/
学问:纸上得来终觉浅,绝知此事要躬行
为事:工欲善其事,必先利其器。
态度:道阻且长,行则将至;行而不辍,未来可期
.....................................................................
------- 桃之夭夭,灼灼其华。之子于归,宜其室家。 ---------------
------- 桃之夭夭,有蕡其实。之子于归,宜其家室。 ---------------
------- 桃之夭夭,其叶蓁蓁。之子于归,宜其家人。 ---------------
=====================================================================
* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。 * @author Alan -liu * @Email no008@foxmail.com
转载请标注出处! ✧*꧁一品堂.技术学习笔记꧂*✧. ---> https://www.cnblogs.com/ios9/