依赖

        <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. VideoCapture

    from xgoedu import XGOEDU import time #实例化edu XGO_edu = XGOEDU() XGO_edu.lcd_text(50,50,'hello',colo ...

  2. MSFvenom恶意程序生成与利用

    MSFvenom 1.1 MSFvenom介绍 MSFvenom是Msfpayload和Msfencode的组合,可以生成各种攻击载荷,并且可以对载荷进行编码.做渗透测试时往往需要将有效负载部署在目标 ...

  3. 传输层协议:TCP/IP协议,UDP的协议

    传输层: 定义了⼀些传输数据的协议和端口号( WWW 端口 80 等),如:TCP(传输控制协议,传输效率低,可靠性强,⽤于传输可靠性要求⾼,数据量⼤的数据), UDP(⽤户数据报协议,与 TCP 特 ...

  4. Hyper-V 下的 Debian 双网卡配置

    Debian 双网卡配置 因为 Hyper-v 不能在 Hyper-v Manger 里设置网卡的静态 IP, 而每次开机自启之后又要连接 Debian 虚拟机,所以使用了双网卡. 双网卡分为内网网卡 ...

  5. 为zabbix穿上一件漂亮的外衣

    zabbix+Grafana 7.0  zabbix的环境已部署好的情况下,zabbix部分-- 略 Grafana简介: 1.Grafana自身并存储数据,数据从其它地方获取.需要配置数据源 2.G ...

  6. RLChina理论三:强化学习基础

    强化学习基础 马尔可夫决策过程就是在,环境自发做出转变,是个随波逐流的过程,At是智能体的行动,在St环境状态下加入At动作,c才进入下个状态S(t+1),即环境有自己的变化,也加入了智能体的决策. ...

  7. Util应用框架基础(五) - 异常处理

    本节介绍Util应用框架如何处理系统错误. 概述 系统在运行过程中可能发生错误. 系统错误可以简单分为两类: 系统异常 系统本身出现的错误. 业务异常 不满足业务规则出现的错误. 如何处理系统异常 如 ...

  8. AcWing 456. 车站分级

    原题链接AcWing 456. 车站分级 抽象出题意,停靠过的车站的等级一定严格大于为停靠过的车站的等级,且不存在环,例如车站\(A\)等级大于车站\(B\),则\(A >= B + 1\),不 ...

  9. python函数str()避免类型错误

    python中当输出需要拼接字符串(char)和整数(int)时,需要用到str()函数 如果编写如下代码: age = 23 print("Happy " + age +&quo ...

  10. execl表格if函数and和or的使用方法?

    当在Excel中处理数据时,IF函数是非常有用的函数之一.它允许您根据指定的条件执行不同的操作.在IF函数中,AND和OR函数可以帮助您组合多个条件以实现更复杂的逻辑判断.接下来,我将详细描述IF函数 ...