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"));
    }

}
相关推荐
飞翔的佩奇32 分钟前
Java项目:基于SSM框架实现的忘忧小区物业管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告】
java·数据库·mysql·vue·毕业设计·ssm框架·小区物业管理系统
先睡5 小时前
Redis的缓存击穿和缓存雪崩
redis·spring·缓存
ZWZhangYu7 小时前
LangChain 构建向量数据库和检索器
数据库·langchain·easyui
feifeigo1238 小时前
升级到MySQL 8.4,MySQL启动报错:io_setup() failed with EAGAIN
数据库·mysql·adb
weixin_446122469 小时前
JAVA内存区域划分
java·开发语言·redis
火龙谷9 小时前
【nosql】有哪些非关系型数据库?
数据库·nosql
TT哇9 小时前
JavaEE==网站开发
java·redis·java-ee
焱焱枫10 小时前
Oracle获取执行计划之10046 技术详解
数据库·oracle
qq_3923971211 小时前
Redis常用操作
数据库·redis·wpf
一只叫煤球的猫13 小时前
真实事故复盘:Redis分布式锁居然失效了?公司十年老程序员踩的坑
java·redis·后端