ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【Redis入门到精通六】在Spring Boot中集成Redis(含配置和操作演示)

【Redis入门到精通六】在Spring Boot中集成Redis(含配置和操作演示) 目录Spring Boot中集成Redis1.项目创建和环境配置2.基本操作演示* * *Spring Boot中集成Redis-------------------Spring社区也自定义了一套Redis的客户端与jedis的操作方式有所差异Spring中把每个类型的操作都单独封装了起来。下面就让我来带大家了解如何在Spring Boot项目中使用Redis。### 1.项目创建和环境配置1.第一步创建Spring Boot项目在创建项目时勾选NoSQL中的Spring Data Redis然后等待项目加载。2.第二步在application.yml中配置Redis服务地址 spring: data: redis: host: 127.0.0.1 port: 8888如果需要进行redis集群的配置可以使用下面的配置项 spring: data: redis: cluster: nodes: - 172.30.0.101:6379 - 172.30.0.102:6379 - 172.30.0.103:6379 - 172.30.0.104:6379 - 172.30.0.105:6379 - 172.30.0.106:6379 - 172.30.0.107:6379 - 172.30.0.108:6379 - 172.30.0.109:6379 lettuce: cluster: refresh: adaptive: true period: 2000 下的 lettuce 系列配置的是为了动刷新集群的拓扑结构。当集群中有节点宕机/加新节点之后我们的代码能够动感知到集群的变化。由于上述 ip 都是 docker 容器的 ip在 windows 主机上不能直接访问。因此需要把程序打成 jar 包部署到 linux 上再通过 java -jar [jar包名] 的式执。3.第三步引入StringRedisTemplate实例便可以通过redisTemplate进行Redis的相关操作了。 RestController public class MyController { Autowired private StringRedisTemplate redisTemplate; }### 2.基本操作演示1.String类型操作演示 RestController public class MyController { Autowired private StringRedisTemplate redisTemplate; GetMapping(“/testString”) public String testString(){ redisTemplate.opsForValue().set(“key”,“value”); String value redisTemplate.opsForValue().get(“key”); System.out.println(value); redisTemplate.delete(“key”); return “OK”; } }在上述代码中我们通过调用redisTemplate的opsForValue方法可以得到一个专门操作Redis中String类型的对象通过这个对象的操作我们便可以得到如下结果2.List类型操作演示 GetMapping(“/testList”) ResponseBody public String testList() { redisTemplate.opsForList().leftPush(“key”, “a”); redisTemplate.opsForList().leftPushAll(“key”, “b”, “c”, “d”); List values redisTemplate.opsForList().range(“key”, 1, 2); System.out.println(values); redisTemplate.delete(“key”); return “OK”; }在上述代码中我们通过调用redisTemplate的opsForList方法可以得到一个专门操作Redis中List类型的对象通过这个对象的操作我们便可以得到如下结果3.Set类型操作演示 GetMapping(“/testSet”) ResponseBody public String testSet() { redisTemplate.opsForSet().add(“key”, “aaa”, “bbb”, “ccc”); boolean ok redisTemplate.opsForSet().isMember(“key”, “aaa”); System.out.println(ok); redisTemplate.opsForSet().remove(“key”, “aaa”); long n redisTemplate.opsForSet().size(“key”); System.out.println(n); redisTemplate.delete(“key”); return “OK”; }在上述代码中我们通过调用redisTemplate的opsForSet方法可以得到一个专门操作Redis中Set类型的对象通过这个对象的操作我们便可以得到如下结果4.Hash类型操作演示 GetMapping(“/testHashmap”) ResponseBody public String testHashmap() { redisTemplate.opsForHash().put(“key”, “name”, “zhangsan”); String value (String) redisTemplate.opsForHash().get(“key”, “name”); System.out.println(value); redisTemplate.opsForHash().delete(“key”, “name”); boolean ok redisTemplate.opsForHash().hasKey(“key”, “name”); System.out.println(ok); redisTemplate.delete(“key”); return “OK”; }在上述代码中我们通过调用redisTemplate的opsForHash方法可以得到一个专门操作Redis中Hash类型的对象通过这个对象的操作我们便可以得到如下结果5.Sorted Set类型操作演示 GetMapping(“/testZSet”) ResponseBody public String testZSet() { redisTemplate.opsForZSet().add(“key”, “吕布”, 100); redisTemplate.opsForZSet().add(“key”, “赵云”, 98); redisTemplate.opsForZSet().add(“key”, “典?”, 95); Set values redisTemplate.opsForZSet().range(“key”, 0, 2); System.out.println(values); long n redisTemplate.opsForZSet().count(“key”, 95, 100); System.out.println(n); redisTemplate.delete(“key”); return “OK”; }在上述代码中我们通过调用redisTemplate的opsForZSet方法可以得到一个专门操作Redis中Sorted Set类型的对象通过这个对象的操作我们便可以得到如下结果
返回列表