重生之 SpringBoot3 入门保姆级学习(20、场景整合 Docker 的 Redis 对接与基础使用)

作者 : admin 本文共3531个字,预计阅读时间需要9分钟 发布时间: 2024-06-16 共3人阅读

重生之 SpringBoot3 入门保姆级学习(20、场景整合 Docker 的 Redis 对接与基础使用)

    • 6.3 整合 Redis

6.3 整合 Redis


1、创建新项目编写 application.properties 配置文件

# redis 配置
spring.data.redis.host=192.168.1.4
spring.data.redis.port=6379
  • 如果不知道主机号的请执行下面代码找到 192.168 开头的局域网地址
ifconfig

重生之 SpringBoot3 入门保姆级学习(20、场景整合 Docker 的 Redis 对接与基础使用)插图

2、创建 RedisTestController 测试类

package com.zhong.redis.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @ClassName : RedisTestController
 * @Description :
 * @Author : zhx
 * @Date: 2024-06-14 15:13
 */
@RestController
public class RedisTestController {
    @Autowired
    StringRedisTemplate redisTemplate;

    @GetMapping("/count")
    public String count() {
        Long count = redisTemplate.opsForValue().increment("count");
        // TODO 常见数据类型 k:v value可以有很多类型
        //
        //  string: 普通字符串:  redisTemplate.opsForValue()
        //  list    列表:       redisTemplate.opsForList()
        //  set:    集合:       redisTemplate.opsForset()
        //  zset:   有序集合:    redisTemplate.opsForzset()
        //  hash:   map结构:    redisTemplate.opsForHash()
        
        return "访问了[ " + count + " ]次";
    }
}

3、运行后浏览器访问 地址 刷新测试

http://localhost:8080/count

重生之 SpringBoot3 入门保姆级学习(20、场景整合 Docker 的 Redis 对接与基础使用)插图(1)

4、查看虚拟机的 Docker 中的 Redis 是否响应

重生之 SpringBoot3 入门保姆级学习(20、场景整合 Docker 的 Redis 对接与基础使用)插图(2)

  • Redis 的常用操作演示
package com.zhong.redis;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ZSetOperations;
@SpringBootTest
class Boot307RedisApplicationTests {
// TODO 常见数据类型 k:v value可以有很多类型
//
//  string: 普通字符串:  redisTemplate.opsForValue()
//  list    列表:       redisTemplate.opsForList()
//  set:    集合:       redisTemplate.opsForset()
//  zset:   有序集合:    redisTemplate.opsForzset()
//  hash:   map结构:    redisTemplate.opsForHash()
@Autowired
StringRedisTemplate redisTemplate;
@Test
void testSting() {
redisTemplate.opsForValue().set("name", "张三");
String name = redisTemplate.opsForValue().get("name");
System.out.println(name);
}
@Test
void testList() {
String listName = "listtest";
redisTemplate.opsForList().leftPush(listName, "1");
redisTemplate.opsForList().leftPush(listName, "2");
redisTemplate.opsForList().leftPush(listName, "3");
String leftPop = redisTemplate.opsForList().leftPop(listName);
Assertions.assertEquals("3", leftPop);
}
@Test
void testSet() {
String setName = "settest";
redisTemplate.opsForSet().add(setName, "1");
redisTemplate.opsForSet().add(setName, "2");
redisTemplate.opsForSet().add(setName, "2");
redisTemplate.opsForSet().add(setName, "2");
redisTemplate.opsForSet().add(setName, "3");
Boolean aBoolean = redisTemplate.opsForSet().isMember(setName, "2");
Boolean bBoolean = redisTemplate.opsForSet().isMember(setName, "5");
Assertions.assertTrue(aBoolean);
Assertions.assertFalse(bBoolean);
}
@Test
void testZset() {
String setName = "zsettest";
redisTemplate.opsForZSet().add(setName, "小钟", 100);
redisTemplate.opsForZSet().add(setName, "小王", 99);
redisTemplate.opsForZSet().add(setName, "小小", 1);
redisTemplate.opsForZSet().add(setName, "小大", 2);
ZSetOperations.TypedTuple<String> popMax = redisTemplate.opsForZSet().popMax(setName);
String value = popMax.getValue();
Double score = popMax.getScore();
System.out.println(value + "====>" + score);
}
@Test
void testHash() {
String setName = "amap";
redisTemplate.opsForHash().put(setName,"name","张三");
redisTemplate.opsForHash().put(setName,"age","18");
Object name = redisTemplate.opsForHash().get(setName, "name");
System.out.println(name);
}
}
  • 运行结果

重生之 SpringBoot3 入门保姆级学习(20、场景整合 Docker 的 Redis 对接与基础使用)插图(3)

  • 利用可视化工具查看 redis 一定要刷新才有值可视化工具可以参考这篇文章 Redis 可视化工具 RedisInsight 的保姆级安装以及使用(最新)_redisinsight安装-CSDN博客
https://blog.csdn.net/weixin_56050344/article/details/139242706?spm=1001.2014.3001.5502

重生之 SpringBoot3 入门保姆级学习(20、场景整合 Docker 的 Redis 对接与基础使用)插图(4)

重生之 SpringBoot3 入门保姆级学习(20、场景整合 Docker 的 Redis 对接与基础使用)插图(5)

本站无任何商业行为
个人在线分享 » 重生之 SpringBoot3 入门保姆级学习(20、场景整合 Docker 的 Redis 对接与基础使用)
E-->