依赖

        <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
@SpringBootTest
class SpringBootTestApplicationTests {

@Resource
StringRedisTemplate stringRedisTemplate;

@Test
void StringRedis() {
stringRedisTemplate.opsForValue().set("name", "张三");
//获取
        String s = stringRedisTemplate.opsForValue().get(name);
        //设置过期时间10s
stringRedisTemplate.expire("name", 10, TimeUnit.SECONDS);
}

@Test
void ListRedis() {
List list = new ArrayList<>();
list.add("aaah");
list.add("bbb3");
list.add("ccc2");
// 所有的集合作为一条数据进行储存 rightPush :从尾部添加
stringRedisTemplate.opsForList().rightPush("list1", list.toString());
// leftPush :从头部添加
stringRedisTemplate.opsForList().leftPush("list2", list.toString());
// 作为n数据进行储存
stringRedisTemplate.opsForList().rightPushAll("list5", list);
// list集合获取启始到结束的集合
List<String> list1 = stringRedisTemplate.opsForList().range("list1", 0, -1);
List<String> list5 = stringRedisTemplate.opsForList().range("list5", 0, -1);
System.out.println("list1 :" + list1);
System.out.println("list5 :" + list5);

// list1 :[[aaah, bbb3, ccc2], [aaah, bbb3, ccc2]]
// list5 :[aaah, bbb3, ccc2, aaah, bbb3, ccc2]
}

@Test
void SetRedis() {
// 无序不可以重复的集合
stringRedisTemplate.opsForSet().add("z1a", "aaa", "bbb", "ddd", "ccc", "aaa");
// set获取
Set<String> z1a = stringRedisTemplate.opsForSet().members("z1a");
System.out.println(z1a);
// [aaa, bbb, ddd, ccc]
// 查看个数
Long z1a1 = stringRedisTemplate.opsForSet().size("z1a");
System.out.println("z1a1:" + z1a1);
// z1a1:4

}

@Test
void ZSetRedis() {
// 有序不可以重复的集合
stringRedisTemplate.opsForZSet().add("z1b", "aaa", 22);
stringRedisTemplate.opsForZSet().add("z1b", "ccc", 11);
stringRedisTemplate.opsForZSet().add("z1b", "ddd", 33);
// zset 从小到大获取
Set<String> z1b = stringRedisTemplate.opsForZSet().range("z1b", 0, -1);
System.out.println("z1b:" + z1b);
// z1b:[ccc, dd, aaa, bbb, ddd]
// zset 从大到小获取
Set<String> strings = stringRedisTemplate.opsForZSet().reverseRange("z1b", 0, -1);
System.out.println("strings:"+strings);
// strings:[ddd, bbb, aaa, dd, ccc]
}

@Test
void HashRedis() {
stringRedisTemplate.opsForHash().put("user", "name", "小明");
stringRedisTemplate.opsForHash().put("user", "pass", "123456");
stringRedisTemplate.opsForHash().put("user", "age", "15");
// 获取单个
Object o = stringRedisTemplate.opsForHash().get("user", "name");
System.out.println("o:" + o); //o:小明
// 获取所有
Map<Object, Object> user = stringRedisTemplate.opsForHash().entries("user");
System.out.println("user:" + user);
// user:{name=小明, pass=123456, age=15}
}

}

redis的基本数据类型测试的更多相关文章

  1. 面试官:讲讲Redis的五大数据类型?如何使用?(内含完整测试源码)

    写在前面 最近面试跳槽的小伙伴有点多,给我反馈的面试情况更是千差万别,不过很多小伙伴反馈说:面试中的大部分问题都能够在我的公众号[冰河技术]中找到答案,面试过程还是挺轻松的,最终也是轻松的拿到了Off ...

  2. redis中各种数据类型对应的jedis操作命令

    redis中各种数据类型对应的jedis操作命令 一.常用数据类型简介: redis常用五种数据类型:string,hash,list,set,zset(sorted set). 1.String类型 ...

  3. redis安装及数据类型简介(string、list、set、sorted_set、hash)

    一:简介: redis国内最大的案例--->新浪微博 memcache:是key-value数据库 数据类型:只支持key value数据 过期策略:支持 持久化:不支持(可以通过三方程序) 主 ...

  4. Redis介绍及Jedis测试

    1.Redis简介 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes ...

  5. JAVAEE——宜立方商城06:Redis安装、数据类型和持久化方案、Redis集群分析与搭建、实现缓存和同步

    1. 学习计划 1.首页轮播图展示 2.Redis服务器搭建 3.向业务逻辑中添加缓存. 4.使用redis做缓存 5.缓存同步. 2. 首页轮播图动态展示 2.1. 功能分析 根据分类id查询内容列 ...

  6. 什么是redis?Reids的特点是什么?Redis支持的数据类型有哪些?

    首先,分布式缓存框架 可以 看成是nosql的一种 (1)什么是redis? redis 是一个基于内存的高性能key-value数据库. (有空再补充,有理解错误或不足欢迎指正) (2)Reids的 ...

  7. 【Redis】基本数据类型及命令操作(超详细)

    一.String 1.1 概述 1.2 相关命令列表 1.3 命令示例 二.List 2.1 概述: 2.2 相关命令列表: 2.3 命令示例: 2.4 链表结构的小技巧: 三.Hashes 3.1 ...

  8. redis五种数据类型的使用(zz)

    redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...

  9. 记一次Redis和NetMQ的测试

    Redis是一个高速缓存K-V数据库,而NetMQ是ZeroMQ的C#实现版本,两者是完全不同的东西. 最近做游戏服务器的时候想到,如果选择一个组件来做服务器间通信的话,ZeroMQ绝对是一个不错的选 ...

  10. redis实现主从复制-单机测试

    一.redis实现主从复制-单机测试1.安装redis tar -zxvf redis-2.8.4.tar.gzcd redis-2.8.4make && make install2. ...

随机推荐

  1. ModuleNotFoundError: No module named 'qrcode'

    W File "/usr/lib/python3/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", ...

  2. Use Closures Not Enumerations

    http://c2.com/  Use Closures Not Enumerations I was really disappointed when this turned out not to ...

  3. 环境搭建:在VSCode搭建Python环境

      1.安装vscode     2.下载python解释器 安装python https://www.python.org/downloads/windows/ 下载可执行的安装文件:   安装完成 ...

  4. zabbix监控Tomcat/JVM 实例性能

    1.背景 zabbix-4.0 环境已部署好 JDK .Tomcat环境已部署好 2.配置Tomcat JMX 编辑catalina.sh加入以下配置 # vim /usr/local/tomcat/ ...

  5. Wonder8.promotion营销规则引擎,轻松搞掂千变万化的营销玩法

    超过10年没有更新过内容了,不知道现在园子的氛围这类文章还适不适合放首页 想着整点内容,也是支持园子! 旺德發.营销 引擎 概述 为了广泛支持营销活动的复杂与灵活,Wonder8.promotion( ...

  6. arm架构docker安装nacos

    前言 搞了个hk1box,装了armbian系统,想用这个当服务器调试微服务,需要安装nacos.尝试安装非docker版本的nacos,去github下载arm版本的并且放到linux下面,运行的时 ...

  7. L2-033 简单计算器

    #include <bits/stdc++.h> using namespace std; int cal(int a, int b, char c) { int t; if (c == ...

  8. AtCoder F - Parenthesis Checking

    原题链接:AtCoder F - Parenthesis Checking 一个全由\('('\)和\(')'\)构成的字符串,由以下两个操作: 1 l r交换字符串第\(l\)个和第\(r\)个字符 ...

  9. 高效开发与设计:提效Spring应用的运行效率和生产力

    引言 现状和背景 Spring框架是广泛使用的Java开发框架之一,它提供了强大的功能和灵活性,但在大型应用中,由于Spring框架的复杂性和依赖关系,应用的启动时间和性能可能会受到影响.这可能导致开 ...

  10. 【Android】学习day05|简单登陆页面的实现|监听代码

    实现效果如下图所示 实现代码[部分] MainActivity.java 1 package com.example.app02; 2 3 import androidx.appcompat.app. ...