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. ...
随机推荐
- Python网络编程——基于tcp协议实现远程执行命令、udp协议没有粘包问题、解决粘包问题、socketserver模块的基本使用(基于tcp协议、基于udp协议的使用)
文章目录 基于tcp协议实现远程执行命令 udp协议没有粘包问题 解决粘包问题 解决粘包问题(终极版) socketserver模块的基本使用 基于tcp协议的使用 基于udp协议的使用 基于tcp协 ...
- 起风了,NCC 云原生项目孵化计划
时间回到 2016 年,彼时 .NET Core 1.0 刚刚发布 1.0 版本,我跟几位好友共同发起 .NET Core 中文学习组(.NET Core China Studying Group)和 ...
- linux- 挂载本地iso,配置本地yum
------------------------------------ 关于centos8安装vm-tools: workstation部署centos8之后,不需要单独安装vm-tools,系统已 ...
- 基本操作:vscode快捷键
1.复制,剪切 补选中具体内容的话,光标放在这一行的任何位置,输入Ctrl+C,就表示已经复制这一行了:直接Ctrl+V可以粘贴: 截切也一样:光标放在这一行的任何位置,输入Ctrl+X,就表示已 ...
- 记一次有趣的 buffer overflow detected 问题分析
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明 无 前言 在我开发的一个实验和学习库中,在很久 ...
- python环境配置常用命令
#安装前请更新 sudo apt-get update python -m pip install --upgrade pip #升级PIP版本 sudo apt-get install python ...
- gitlab : You won`t be able to pull or push project code via SSH until you add an SSH key to your profile(导致的问题:合并不了代码)
gitlab : You won`t be able to pull or push project code via SSH until you add an SSH key to your pro ...
- 递归+DP:爬楼梯问题
一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级.求该青蛙跳上一个n 级的台阶总共有多少种跳法. 输入格式: 首先输入数字n,代表接下来有n组输入,50>=n>=0,然后每行一个 ...
- 【scipy 基础】--最优化
SciPy库的optimize模块主要用于执行各种优化任务.优化是寻找特定函数的最小值或最大值的过程,通常用于机器学习.数据分析.工程和其他领域. scipy.optimize提供了多种优化算法,包括 ...
- Ubuntu 20.04 挂载 NTFS 硬盘 / 格式化并挂载 EXT4 硬盘
创建挂载目录 mkdir /mnt/hdd 此目录在最后一步中用得到. 确定要挂载的硬盘 fdisk -l 由于我们要挂载的是 NTFS 硬盘,根据上面的信息,可以确定 /dev/sda1 是我们要挂 ...