redis的基本数据类型测试
依赖
<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的基本数据类型测试的更多相关文章
- 面试官:讲讲Redis的五大数据类型?如何使用?(内含完整测试源码)
写在前面 最近面试跳槽的小伙伴有点多,给我反馈的面试情况更是千差万别,不过很多小伙伴反馈说:面试中的大部分问题都能够在我的公众号[冰河技术]中找到答案,面试过程还是挺轻松的,最终也是轻松的拿到了Off ...
- redis中各种数据类型对应的jedis操作命令
redis中各种数据类型对应的jedis操作命令 一.常用数据类型简介: redis常用五种数据类型:string,hash,list,set,zset(sorted set). 1.String类型 ...
- redis安装及数据类型简介(string、list、set、sorted_set、hash)
一:简介: redis国内最大的案例--->新浪微博 memcache:是key-value数据库 数据类型:只支持key value数据 过期策略:支持 持久化:不支持(可以通过三方程序) 主 ...
- Redis介绍及Jedis测试
1.Redis简介 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes ...
- JAVAEE——宜立方商城06:Redis安装、数据类型和持久化方案、Redis集群分析与搭建、实现缓存和同步
1. 学习计划 1.首页轮播图展示 2.Redis服务器搭建 3.向业务逻辑中添加缓存. 4.使用redis做缓存 5.缓存同步. 2. 首页轮播图动态展示 2.1. 功能分析 根据分类id查询内容列 ...
- 什么是redis?Reids的特点是什么?Redis支持的数据类型有哪些?
首先,分布式缓存框架 可以 看成是nosql的一种 (1)什么是redis? redis 是一个基于内存的高性能key-value数据库. (有空再补充,有理解错误或不足欢迎指正) (2)Reids的 ...
- 【Redis】基本数据类型及命令操作(超详细)
一.String 1.1 概述 1.2 相关命令列表 1.3 命令示例 二.List 2.1 概述: 2.2 相关命令列表: 2.3 命令示例: 2.4 链表结构的小技巧: 三.Hashes 3.1 ...
- redis五种数据类型的使用(zz)
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- 记一次Redis和NetMQ的测试
Redis是一个高速缓存K-V数据库,而NetMQ是ZeroMQ的C#实现版本,两者是完全不同的东西. 最近做游戏服务器的时候想到,如果选择一个组件来做服务器间通信的话,ZeroMQ绝对是一个不错的选 ...
- redis实现主从复制-单机测试
一.redis实现主从复制-单机测试1.安装redis tar -zxvf redis-2.8.4.tar.gzcd redis-2.8.4make && make install2. ...
随机推荐
- P4032 [Code+#2] 火锅盛宴
prologue 树状数组推荐写法,感谢巨佬樱雪喵的教学. inline int lowbit(int x) { return x & -x; } inline void add(int x, ...
- C/C++中的ACM题目输入处理——简单易上手
这里就不按其他文章的以各种情况为分类方法,而是以方法本身为分类办法.因为有一些方法是不同情况通用的,比如已知数量数字的输入和未知数量数字的输入,其实可以用同一种办法. 输入 C/C++ :scanf正 ...
- Kubernetes:kube-apiserver 之启动流程(一)
0. 前言 前面两篇文章 Kubernetes:kube-apiserver 之 scheme(一) 和 Kubernetes:kube-apiserver 之 scheme(二) 重点介绍了 kub ...
- 企业FTP搭建教程
安装Vsftpd 提前关闭selinux 和firewalld防火墙 安装vsftp软件包: yum install -y vsftpd* 启动vsftp服务器: systemctl start vs ...
- [Python] 利用python的第三方库xlrd和xlwt来处理excel数据
今天在处理excel表格的时候,有一个需要提取表格中部分数据的操作.如果人工操作的话,有将近几千行,这样重复操作劳民伤财. 所以python就派上用场了. 简单介绍一下我要处理的问题,在excel一列 ...
- 从A+B 到 sin A+cos B 再到 向量A+向量B
从\(A+B\)到\(\sin A+\cos B\)再到\(\vec{A}+\vec{B}\) 目录 从\(A+B\)到\(\sin A+\cos B\)再到\(\vec{A}+\vec{B}\) 前 ...
- facebook广告投放优化师
由来(一个技术的自嗨) 你以为我是个广告优化师?错,我是个java开发从事者.一开始我是想介绍某人转行去做广告投放优化师的,毕竟自己也在某出海公司待过一段时间,对于技术来说出海的核心是支付系统业务和广 ...
- 使用ResponseSelector实现校园招聘FAQ机器人
本文主要介绍使用ResponseSelector实现校园招聘FAQ机器人,回答面试流程和面试结果查询的FAQ问题.FAQ机器人功能分为业务无关的功能和业务相关的功能2类. 一.data/nlu.y ...
- ArmSoM-W3应用开发之安装docker
1. 简介 RK3588从入门到精通系列专题 开发板:ArmSoM-W3 Kernel:5.10.160 OS:Debian11 本⽂介绍ArmSoM-W3在Debian11下如何安装使用docker ...
- 深度分析C#中Array的存储结构
数组是C#中最基础的存储结构之一,很多的存储结构其底层的实现中都是基于数组实现的,如:List.Queue.Stack.Dictionary.Heap等等,如果大家读过这些类型的底层实现源码,其实就可 ...