最近工作需要使用springboot操作redis。
一脸懵逼,都不会啊。
从网上这块看看那块看看。有的不能运行。想了下,自己弄下吧
从头开始,上图。
1、选择Spring Initializr, JDK选择1.8. 接着NEXT
2、没什么说的,默认即可。如果有需要改名的可以改名。接着next
3、选择web、Redis ,接下来next。(如果找不到,到搜索框中搜索即可)
4、接着next。然后稍稍等下,在下载相应的依赖jar包。
5、看下项目目录。主要是这几个。
6、接下来看下 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 http://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.1.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
7、接下来在application.properties文件中,配置redis的链接信息。
# REDIS Cluster (RedisProperties) # Redis数据库索引(默认为0) spring.redis.database=1 # Redis服务器地址 spring.redis.host=127.0.0.1 # Redis服务器连接端口 spring.redis.port=6379 # Redis服务器连接密码(默认为空) spring.redis.password= # 连接池最大连接数(使用负值表示没有限制) spring.redis.pool.max-active=600 # 连接池最大阻塞等待时间(使用负值表示没有限制) spring.redis.pool.max-wait=1000 # 连接池中的最大空闲连接 spring.redis.pool.max-idle=300 # 连接池中的最小空闲连接 spring.redis.pool.min-idle=100 # 连接超时时间(毫秒) spring.redis.timeout=2500 time=5
8、接下来创建demo文件。文件中通过RedisTemplate类操作Redis。包括插入和查询String/map/list/set/zset。
上代码
package com.example.demo; import java.util.*; import javax.annotation.Resource; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.SetOperations; import org.springframework.data.redis.core.ZSetOperations; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class Demo { @Resource private RedisTemplate<Object, Object> redisTemplate; /** * 设置保存string类型到redis */ @RequestMapping(value = "/setAndGetString") public void setAndGetString(){ redisTemplate.opsForValue().set("key1","1"); redisTemplate.opsForValue().set("key2","2"); redisTemplate.opsForValue().set("key3","3"); System.out.println(redisTemplate.opsForValue().get("key1")); } /** * 设置保存map类型到redis */ @RequestMapping(value = "setAndGetMap") public void setAndGetMap(){ Map<String,Object> map = new HashMap<>(); map.put("name","张三"); map.put("age","18"); map.put("gender","男"); redisTemplate.opsForHash().putAll("userInfo",map); redisTemplate.opsForHash().put("userInfo","sel","111"); System.out.println(redisTemplate.opsForHash().entries("userInfo")); System.out.println(redisTemplate.opsForHash().keys("userInfo")); System.out.println(redisTemplate.opsForHash().values("userInfo")); System.out.println(redisTemplate.opsForHash().get("userInfo","name")); } /** * 设置保存list类型到redis */ @RequestMapping(value = "setAndGetList") public void setAndGetList(){ List<String > list1 = new ArrayList<>(); list1.add("hello1"); list1.add("world1"); List<String > list2 = new ArrayList<>(); list2.add("hello2"); list2.add("world2"); redisTemplate.opsForList().leftPush("leftList",list1); redisTemplate.opsForList().rightPush("rightList",list2); System.out.println(redisTemplate.opsForList().leftPop("leftList")); System.out.println(redisTemplate.opsForList().rightPop("rightList")); } /** * 设置保存set类型到redis */ @RequestMapping(value = "setAndGetSet") public void setAndGetSet(){ SetOperations<Object, Object> set = redisTemplate.opsForSet(); set.add("numberSet","1"); set.add("numberSet","2"); set.add("numberSet","3"); Set<Object> resultSet =redisTemplate.opsForSet().members("numberSet"); System.out.println("resultSet:"+resultSet); } /** * 设置保存set类型到redis */ @RequestMapping(value = "setAndGetZSet") public void setAndGetZSet(){ ZSetOperations<Object,Object> zSetOperations = redisTemplate.opsForZSet(); zSetOperations.add("zSet","one",1); zSetOperations.add("zSet","two",2); zSetOperations.add("zSet","three",3); System.out.println(redisTemplate.opsForZSet().range("zSet",1,3)); System.out.println(redisTemplate.opsForZSet().range("zSet",0,zSetOperations.size("zSet"))); } }
9、接下来验证下。下面的类中有main函数。只需要右键-》RUN就ok
10.输入地址。
11.控制台打印。
12、睡觉~~