nosql-redis整合测试

nosql-redis整合测试

1、创建项目并导入redis

2、配置redis

3、写测试类

4、在redis中创建key

5、访问8082

6、在集成测试中测试方法

java 复制代码
package com.example.boot3.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;

import java.util.UUID;

@SpringBootTest
class Boot307RedisApplicationTests {
    @Autowired
    StringRedisTemplate redisTemplate;

    //    常见的数据类型 k:v value可以有很多类型
    //    string: 普通字符串: redisTemplate.opsForValue()
    //    list: 列表: redisTemplate.opsForList()
    //    set: 集合: redisTemplate.opsForSet()
    //    zset: 有序集合: redisTemplate.opsForZSet()
    //    hash: map结构: redisTemplate.opsForHash()
    @Test
    void contextLoads() {
        redisTemplate.opsForValue().set("haha", UUID.randomUUID().toString());
        String haha = redisTemplate.opsForValue().get("haha");
        System.out.println(haha);
    }

    @Test
    void testList(){
        String listName = "listtest";
        redisTemplate.opsForList().leftPush(listName,"1");
        redisTemplate.opsForList().leftPush(listName,"2");
        redisTemplate.opsForList().leftPush(listName,"3");
        String pop = redisTemplate.opsForList().leftPop(listName);
        Assertions.assertEquals("3",pop);
    }

    @Test
    void testSet(){
        String setName = "setest";
        redisTemplate.opsForSet().add(setName,"1","2");
        Boolean aBoolean = redisTemplate.opsForSet().isMember(setName,"2");
        Assertions.assertTrue(aBoolean);
        Boolean aBoolean1 = redisTemplate.opsForSet().isMember(setName, "5");
        Assertions.assertFalse(aBoolean1);

    }

    @Test
    void testZSet(){
        String setName = "zsetest";
        redisTemplate.opsForZSet().add(setName,"类放羊",90.00);
        redisTemplate.opsForZSet().add(setName,"张三",91.00);
        redisTemplate.opsForZSet().add(setName,"李四",91.20);
        redisTemplate.opsForZSet().add(setName,"王五",92.00);
        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 mapName = "amap";
        redisTemplate.opsForHash().put(mapName,"name","张三");
        redisTemplate.opsForHash().put(mapName,"age","18");

        System.out.println(redisTemplate.opsForHash().get(mapName,"name"));
        System.out.println(redisTemplate.opsForHash().get(mapName,"age"));
    }

}
相关推荐
JdSnE27zv5 分钟前
Qt 操作SQLite数据库
数据库·qt·sqlite
tedcloud12313 分钟前
HyperFrames部署教程:用HTML生成MP4视频
前端·数据库·人工智能·html·音视频
布朗克16819 分钟前
25 IO流高级操作——序列化、NIO与Files工具类
java·数据库·io·nio
阿演21 分钟前
DataDjinn 新版本更新:新增 Oracle 支持,查询窗口、表预览和连接树继续打磨
数据库·oracle·ai编程·数据库连接工具
lixora40 分钟前
Oracle 11g Active Data Guard Go 自动化部署工具 v1.0
数据库·oracle
Nturmoils40 分钟前
自增主键别只会 auto_increment,先把值从哪来讲清楚
数据库·后端
叶小鸡1 小时前
Java 篇-项目实战-AI 天机学堂(从 0 到 1)-day5
数据库·redis·缓存
IT策士1 小时前
Redis 从入门到精通:Python 操作 Redis
redis·python·bootstrap
mN9B2uk171 小时前
大数据量高并发的数据库优化
服务器·数据库·oracle
Database_Cool_1 小时前
PolarSearch AutoETL:让数据库内置搜索不再需要搬运工
数据库