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(),它接受一个列表作为参数。 在函数内部&…...
4步实现专业黑苹果配置:OpCore-Simplify零代码自动化解决方案
4步实现专业黑苹果配置:OpCore-Simplify零代码自动化解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore-Simplify是一款革命性…...
OneAPI API扩展实践:不改源码调用管理API,快速开发额度预警机器人与报表系统
OneAPI API扩展实践:不改源码调用管理API,快速开发额度预警机器人与报表系统 1. 引言:为什么需要API扩展能力? 在日常的AI应用开发中,我们经常遇到这样的需求:需要监控API使用情况、自动发送额度预警、生…...
像素史诗·智识终端前端设计(Frontend-Design)实战:UI组件智能生成
像素史诗智识终端前端设计实战:UI组件智能生成 1. 前端设计的效率革命 想象一下这样的场景:产品经理刚描述完需求,设计稿和前端代码就已经自动生成。这听起来像是科幻情节,但借助像素史诗智识终端的前端设计能力,这种…...
Pixel Dream Workshop 面试宝典:常见Java面试题在AI项目中的实践
Pixel Dream Workshop 面试宝典:常见Java面试题在AI项目中的实践 1. 引言:当Java面试题遇上AI项目 最近在面试Java工程师时发现一个有趣现象:很多候选人能背出各种面试题的标准答案,但一旦问到"这个技术点在实际项目中怎么…...
Excel VBA 技巧:让工作表中的形状宏自适应
在日常工作中,Excel 不仅仅是数据处理的工具,更是我们自动化办公的利器。今天我们要探讨的是如何让Excel工作表中的形状宏能够自适应地工作,即使在复制工作表到新的工作簿时也能保持其功能性。 问题背景 假设我们有一个工作簿BOOK1,其中包含一个名为TEST的工作表和一个名…...
Kandinsky-5.0-I2V-Lite-5s社区实践:在CSDN分享你的创意作品与调参心得
Kandinsky-5.0-I2V-Lite-5s社区实践:在CSDN分享你的创意作品与调参心得 1. 为什么要在CSDN分享你的AI创作 最近在星图GPU平台体验了Kandinsky-5.0-I2V-Lite-5s这个强大的图生视频模型,发现它能让静态图片"活"起来,生成各种有趣的…...
OpenClaw+SecGPT-14B:构建无需编程的内网资产管理系统
OpenClawSecGPT-14B:构建无需编程的内网资产管理系统 1. 为什么需要无代码内网资产管理 去年接手公司IT运维时,我发现内网设备清单还是三年前的Excel表格。每当新设备接入或旧设备淘汰,手动更新文档总会被遗忘。更麻烦的是,不同…...
Phi-4-mini-reasoning部署教程:SSL证书配置实现https安全访问Web界面
Phi-4-mini-reasoning部署教程:SSL证书配置实现https安全访问Web界面 1. 环境准备 在开始配置SSL证书前,请确保您已经完成以下准备工作: 已部署Phi-4-mini-reasoning模型并正常运行拥有服务器管理员权限已获取有效的域名(可以是…...
从光纤通信到超快光学:非线性薛定谔方程仿真在工程研究中的5个典型应用场景
从光纤通信到超快光学:非线性薛定谔方程仿真在工程研究中的5个典型应用场景 当一束激光脉冲在光纤中传输时,其强度分布会随时间发生微妙变化——这种看似简单的物理现象背后,隐藏着非线性光学中最富魅力的数学描述:非线性薛定谔方…...
C#图像金字塔:3个关键技巧,让图像识别从“卡顿“变“闪电“!
🔥关注墨瑾轩,带你探索编程的奥秘!🚀 🔥超萌技术攻略,轻松晋级编程高手🚀 🔥技术宝库已备好,就等你来挖掘🚀 🔥订阅墨瑾轩,智趣学习不…...
