redis基本用法学习(主要数据类型)
redis官网教程中介绍有三种方式连接redis:命令行、gui工具和编程连接:
命令行方式主要是在命令行中输入redis-cli后,通过命令方式与redis服务进行交互,支持两种模式:REPL模式(简单的交互式的编程环境)和命令模式(带参数执行redis-cli命令,返回标准输出内容);
gui工具是指redis官网教程推荐使用RedisInsight软件可视化地与redis服务交互,RedisInsight软件为免费软件,可以浏览和操作数据,感觉类似其它数据库软件的客户端工具,使用起来比用命令行交互更直观;
编程连接是指通过编程方式与redis服务交互,查询或操作数据,redis主要支持C#/.NET、Go、Java、Node.js、Python等编程语言,更详细的介绍见参考文献3。
redis支持以键值对形式保存以下几种数据类型的数据:
| 序号 | 中文名称 | 英文名称 | 说明 | 主要命令 |
|---|---|---|---|---|
| 1 | 字符串 | String | 保存字符串类型的键值对,键和值是一对一的字符串,支持设置、删除、修改、获取键值对,支持批量设置、获取键值对,支持设置键值对的过期时间 | SET、GET、SETEX、MSET、MGET |
| 2 | 列表 | List | 支持按类似队列的形式保存值,键值对中,键为字符串,而值为类似队列的字符串集合,支持增加、插入、删除列表元素 | LPUSH、LPOP、LTRIM、LRANGE、RPUSH、RPOP、LLEN |
| 3 | 集合 | Set | 键值对中,键为字符串,值为无序字符串集合,且值不能重复,支持集合之间求差、求合等操作 | SADD、SREM、SMEMBERS、SISMEMBER、SINTER、SCARD |
| 4 | 有序集合 | Sorted set | 键值对中,键为字符串,值中的每个元素都由字符串成员(members)及其关联的分数(score)构成,有序集合按成员的分数从大到小排序,支持查看排序结果及排名,同时支持查看反向排序结果及排名,除此支持,有序集合支持常见的集合求合、求差等操作。 | ZADD、ZCARD、ZRANGE、ZREVRANGE、ZRANK、ZREVRANK |
| 5 | 哈希 | Hash | 键值对中,键为字符串,值为键值对集合,值中的每个键都不能重复,有点像json中平级的属性值集合的意思,参考文献4中以人员信息为例,可以使用哈希保存人员的姓名、年龄、性别、身高 等信息 | HSET、HGET、HDEL、HEXISTS、HKEYS、HVALS、HLEN |
| 6 | 流 | Stream | 键值对中,键为字符串,值中的每个元素都由唯一ID和一组键值对构成,可以用流几种接收和处理各方的消息,类似于生产者和消费者的形式,详细介绍见参考文献1和4 | XADD、XREAD、XRANGE、XLEN |
| 7 | 地理空间 | Geospatial | 主要存储和处理地理位置信息,键值对中,键为字符串,值中的每个元素都由经度、纬度、字符串成员(members)构成,支持计算成员与成员的距离,同时支持获取指定位置附近的所有成员列表,详细介绍见参考文献1和4 | GEOADD、GEOSEARCH、GEODIST |
| 8 | 位图 | Bitmap | 键值对中,键为字符串,值中的每个元素都由位置和一个0或1的值构成,可以用位图保存一组开关/灯/引脚的开闭状态,也可用于记录一组对象的有无状态,参考文献4中即以记录一组人的点赞状态为例说明位图的用法 | SETBIT、GETBIT、BITCOUNT |
| 9 | 位域 | Bitfield | 主要存储和处理数值型属性值,键值对中,键为字符串,值由SET/GET/INCRBY等命令开头的属性值信息,详细介绍即示例见参考文献4和6 | BITFIELD、BITFIELD_RO |
| 10 | HLL | HyperLogLog | 支持基数统计(详细介绍见参考文献5),键值对中,键为字符串,值为字符串集合,支持获取字符串集合中的基数,同时支持合并HyperLogLog | PFADD、PFCOUNT、PFMERGE |
后续主要学习字符串类型的键值对基本用法,同时学习基于C#/.NET操作字符串类型的键值对基本用法。
参考文献:
[1]https://redis.io/
[2]https://redis.io/docs/install/install-redis/
[3]https://redis.io/docs/data-types/
[4]一小时Redis教程,https://www.bilibili.com/video/BV1Jj411D7oG/?spm_id_from=333.337.search-card.all.click&vd_source=db4a1f65c18549c78df3e9d579e59e19
[5]https://zhuanlan.zhihu.com/p/77289303
[6]https://redis.io/commands/bitfield/
相关文章:
redis基本用法学习(主要数据类型)
redis官网教程中介绍有三种方式连接redis:命令行、gui工具和编程连接: 命令行方式主要是在命令行中输入redis-cli后,通过命令方式与redis服务进行交互,支持两种模式:REPL模式(简单的交互式的编程环境&a…...
低代码:美味膳食或垃圾食品
低代码开发是近年来迅速崛起的软件开发方法,让编写应用程序变得更快、更简单。有人说它是美味的膳食,让开发过程高效而满足,但也有人质疑它是垃圾食品,缺乏定制性与深度。你认为低代码到底是美味的膳食还是垃圾食品呢,…...
设计模式—观察者模式
观察者模式(Observer Pattern)是一种行为型设计模式,它定义了一种一对多的依赖关系,使得当一个对象的状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。 在观察者模式中,有两个核心角色…...
Java_EasyExcel_导入_导出Java-js
easyExcel导入 从easyexcel官网中拷贝过来,使用到的,这是使用监听器的方法。 EasyExcel.read(file.getInputStream(), BaseStoreDataExcelVo.class, new ReadListener<BaseStoreDataExcelVo>() {/*** 单次缓存的数据量*/public static final int…...
循环神经网络-RNN记忆能力实验 [HBU]
目录 一、循环神经网络 二、循环神经网络的记忆能力实验 三、数据集构建 数据集的构建函数 加载数据并进行数据划分 构造Dataset类 四、模型构建 嵌入层 SRN层 五、模型训练 训练指定长度的数字预测模型 多组训练 损失曲线展示 六、模型评价 参考《神经网络与深度…...
P1044 [NOIP2003 普及组] 栈——卡特兰数
传送门: P1044 [NOIP2003 普及组] 栈 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1044 公式一:递推式(注意开 long long ,然后 先乘完再除,防止下取整) typedef long long ll;…...
9:00面试,9:06就出来了,问的问题有点变态。。。
从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到12月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40…...
ets:tab2list的不足之处与替代方法,以及gen_server中使用ets的优缺点
ets:tab2list 是 Erlang/OTP 中的一个函数,用于将 ETS(Erlang Term Storage)表转换为列表。ETS 是 Erlang 中的一个内建数据库,允许开发者在内存中存储大量数据。 一、ets:tab2list 的不足之处: 性能问题:…...
软件测试之压力测试详解
一、什么是压力测试 软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、…...
SpringBoot之请求的详细解析
1. 请求 在本章节呢,我们主要讲解,如何接收页面传递过来的请求数据。 1.1 Postman 之前我们课程中有提到当前最为主流的开发模式:前后端分离 在这种模式下,前端技术人员基于"接口文档",开发前端程序&…...
mac 环境下 goframe安装GF开发工具 gf-cli(安装包方式安装)
mac 环境下 goframe安装GF开发工具 gf-cli(安装包方式安装) 安装包网址 链接: link 终端输入命令进行安装 ./gf_darwin_amd64 但是产生如下报错,无法安装 使用一下命令给安装权限 chmod 0777 gf_darwin_amd64 && ./gf_darwin_a…...
Navicat 技术指引 | 适用于 GaussDB 分布式的数据迁移工具
Navicat Premium(16.3.3 Windows 版或以上)正式支持 GaussDB 分布式数据库。GaussDB 分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结…...
【TiDB理论知识10】TiDB6.0新特性
新特性 Placement Rules in SQL 小表缓存 内存悲观锁 Top SQL TiDB Enterprise Manager 一 Placement Rules in SQL Placement Rules in SQL 之前会遇到的问题 比如 北京的业务需要访问 T2 和 T3表 ,但是T3表的数据在纽约 纽约的业务需要问访T4 T5 T6表…...
MySQL笔记-第15章_存储过程与函数
视频链接:【MySQL数据库入门到大牛,mysql安装到优化,百科全书级,全网天花板】 文章目录 第15章_存储过程与函数1. 存储过程概述1.1 理解1.2 分类 2. 创建存储过程2.1 语法分析2.2 代码举例 3. 调用存储过程3.1 调用格式3.2 代码举…...
12月12日作业
设计一个闹钟 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimerEvent> #include <QTime> #include <QTime> #include <QTextToSpeech>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass …...
基于Python+WaveNet+MFCC+Tensorflow智能方言分类—深度学习算法应用(含全部工程源码)(二)
目录 前言引言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理1)数据介绍2)数据测试3)数据处理 相关其它博客工程源代码下载其它资料下载 前言 博主前段时间发布了一篇有关方言识别和分类模型训练的博客,在读者…...
secrets --- 生成管理密码的安全随机数
3.6 新版功能. 源代码: Lib/secrets.py secrets 模块用于生成高度加密的随机数,适于管理密码、账户验证、安全凭据及机密数据。 最好用 secrets 替代 random 模块的默认伪随机数生成器,该生成器适用于建模和模拟,不宜用于安全与加密。 参见…...
宇视科技视频监控 main-cgi 文件信息泄露漏洞
宇视科技视频监控 main-cgi 文件信息泄露漏洞 一、产品简介二、漏概述三、复现环境四、漏洞检测手工抓包自动化检测 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#…...
【数学建模】《实战数学建模:例题与讲解》第十一讲-因子分析、聚类与主成分(含Matlab代码)
【数学建模】《实战数学建模:例题与讲解》第十一讲-因子分析、聚类与主成分(含Matlab代码) 基本概念聚类分析Q型聚类分析R型聚类分析 主成分分析因子分析 习题10.11. 题目要求2.解题过程3.程序4.结果 习题10.21. 题目要求2.解题过程3.程序4.结…...
Python查找列表中不重复的数字
Python每日一练 文章目录 Python每日一练问题:函数输入函数输出 代码实现示例输入:示例输出: 总结 问题: 编写一个程序来查找列表中不重复的数字。 定义函数find_unique(),它接受一个列表作为参数。 在函数内部&…...
TI WEBENCH滤波器设计工具:从理论到实战的电路设计加速器
1. WEBENCH滤波器设计工具:从概念到成品的“加速器”在模拟电路设计,尤其是信号调理领域,滤波器设计一直是个既基础又颇具挑战性的环节。无论是为了滤除电源噪声,还是从复杂的传感器信号中提取有效成分,一个性能优良的…...
Vue3后台管理系统终极指南:5个关键问题与V3 Admin Vite解决方案
Vue3后台管理系统终极指南:5个关键问题与V3 Admin Vite解决方案 【免费下载链接】v3-admin-vite ☀️ A crafted Vue3 admin template | Vue Admin | Vue Template | Vue3 Admin | Vue3 Template | Vue 后台 | Vue 模板 | Vue3 后台 | Vue3 模板 项目地址: https:…...
Anthropic收购Stainless:AI Agent时代的连接革命
Anthropic收购Stainless:AI Agent时代的连接革命 1. 引言:从“回答”到“行动”的AI范式转移 1.1 收购概况:Anthropic于2026年5月宣布收购Stainless 2026年5月,AI领域迎来了一项颇具深意的收购案:Anthropic正式宣布收购…...
Grounding DINO实战评测:对比GLIP、OV-DETR,在COCO和LVIS数据集上到底强在哪?
Grounding DINO技术解析:多模态开放集检测的突破与实践 在计算机视觉与自然语言处理的交叉领域,开放集目标检测正经历着前所未有的技术革新。传统检测模型受限于预定义类别集的桎梏,而新一代多模态大模型通过融合视觉与语言信号,实…...
Unity Timeline实战:除了过场动画,你的Signal Track和Control Track用对了吗?
Unity Timeline实战:Signal Track与Control Track的高级应用指南 在Unity开发者的工具箱中,Timeline常被视为制作过场动画的专属工具。但当我们深入挖掘其潜力时,会发现它实际上是一个强大的游戏逻辑编排系统。本文将带您突破基础应用&#x…...
CG-65 剖面细管式温度传感器 小巧便携 多层温度同监测
一、产品概述:小巧便携,功能集成在农业生产、环境监测等诸多领域,土壤温度是一项至关重要的参数。一款性能优异的土壤温度监测设备,能够为相关工作提供精准的数据支持。我们的多深度土壤温度监测仪,正是这样一款专为精…...
从U盘到高端SSD:一文搞懂FTL映射表(块/页/混合)的演进与实战选择
从U盘到高端SSD:一文搞懂FTL映射表(块/页/混合)的演进与实战选择 存储设备的性能差异往往隐藏在底层算法的设计哲学中。当你在电商平台对比两款SSD时,是否思考过为什么同样标称1TB容量的产品,价格能相差数倍ÿ…...
2026年产品经理必看:中国十大含金量产品岗位证书深度解析与职业进阶指南
大家好,很高兴能在这里和大家聊聊产品人的职业发展。👋转眼间我们已经步入 2026年,回首过去几年,互联网和科技行业的风向变了又变。作为在这个圈子里摸爬滚打多年的老兵,我深知大家此刻的焦虑:岗位竞争越来…...
树莓派I2C保姆级教程:从命令行工具到Python脚本,一次搞定多个传感器(附避坑指南)
树莓派I2C实战指南:从硬件调试到Python自动化控制 第一次接触树莓派的I2C接口时,我对着密密麻麻的引脚和传感器数据手册发呆了半小时。直到成功读取到第一个温湿度数据,才意识到I2C这种看似复杂的通信协议,其实就像一位耐心的翻译…...
从一次线上故障复盘:如何用 nlohmann::json 的 `value()` 和 `get_to()` 优雅处理缺失字段
从一次线上故障复盘:如何用 nlohmann::json 的 value() 和 get_to() 优雅处理缺失字段 上周五晚上10点,我们的算法服务平台突然收到大量错误告警。一个核心接口在解析上传的算法包时频繁报错,日志里满是[json.exception.type_error.302] type…...
