用户国营 发表于 2024-10-22 08:17:29

【Redis入门到醒目六】在Spring Boot中集成Redis(含配置和操纵演示)

目录

Spring Boot中集成Redis
1.项目创建和情况配置
2.根本操纵演示

Spring Boot中集成Redis

        Spring社区也自定义了一套Redis的客户端,与jedis的操纵方式有所差别,Spring中把每个范例的操纵都单独封装了起来。下面就让我来带大家了解怎样在Spring Boot项目中使用Redis。
1.项目创建和情况配置

1.第一步创建Spring Boot项目,在创建项目时勾选NoSQL中的Spring Data Redis,然后等待项目加载。
https://i-blog.csdnimg.cn/direct/933451405ce049b09bb801533f92ce8e.png
 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 的⽅式执⾏。
 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范例的对象,通过这个对象的操纵我们便可以得到如下结果:
https://i-blog.csdnimg.cn/direct/c7f46608b6754ae9be5a341d3eed36f9.png
 2.List范例操纵演示:
    @GetMapping("/testList")
    @ResponseBody
    public String testList() {
      redisTemplate.opsForList().leftPush("key", "a");
      redisTemplate.opsForList().leftPushAll("key", "b", "c", "d");
      List<String> values = redisTemplate.opsForList().range("key", 1, 2);
      System.out.println(values);
      redisTemplate.delete("key");
      return "OK";
    } 在上述代码中,我们通过调用redisTemplate的opsForList方法可以得到一个专门操纵Redis中List范例的对象,通过这个对象的操纵我们便可以得到如下结果: 
https://i-blog.csdnimg.cn/direct/cb8769a1e72246b3a0acbb134d89581b.png
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范例的对象,通过这个对象的操纵我们便可以得到如下结果: 
https://i-blog.csdnimg.cn/direct/2dddc46a50f648a190f4cefc5af828e8.png
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范例的对象,通过这个对象的操纵我们便可以得到如下结果: 
https://i-blog.csdnimg.cn/direct/293ba4c1f7484dd9a0a026fdc58fd5c6.png
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<String> 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范例的对象,通过这个对象的操纵我们便可以得到如下结果: 
https://i-blog.csdnimg.cn/direct/3df3eaacc8b64429bd6f846d3fa68493.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【Redis入门到醒目六】在Spring Boot中集成Redis(含配置和操纵演示)