Redis常见数据结构
目录
基本介绍
特点:
全局命令
数据类型:
String
Hash
List
Set
Zset
基本介绍
Redis是一个在内存中存储数据的中间件,可作为数据库,缓存,消息队列等。
特点:
持久化:Redis会把数据存储在内存中,内存的数据是易失的,进程退出和重启都会使内存中的数据丢失,Redis会把数据存储在硬盘上进行备份,重启后Redis会重新加载硬盘中的备份数据,使Redis的内存恢复到重启前的状态。
支持集群:引入多个主机部署多个Redis节点,每个节点可以存储数据的一部分。
高可用:Redis自身支持主从结构,从节点相当于主节点的备份。
快速:Redis数据在内存中,读写的速度远远快于MySQL(数据存储在硬盘中)。Redis的核心功能都是比较简单的逻辑,不支持一些复杂的查询。Redis使用epoll的I/O多路复用的方式(使用一个线程管理多个Socket)。Redis是单线程模型,减少了不必要线程之间的竞争开销。
基本类型:Redis基于键值对存储数据,类似于哈希表,使用<key,value>的形式存储数据,key的类型固定为字符串类型,value可以支持多种类型:String(字符串),hash(哈希),set(集合),zset(有序集合),list(链表)。
全局命令
redis -cli 本机登录
keys [patter] 查询匹配的key
type key 查看对应的value类型
ttl key 查看过期剩余时间
exists key 查看key是否存在
del ke 删除key
scan cursor(光标 指向当前遍历位置) count(每次获取元素个数) 渐进遍历
数据类型:
String
set key value 设置value
get key 获取value
set key value ex 设置key和value,加上过期时间
set key value nx|xx nx:key不存在时设置值 xx:存在时设置
mset key vslue 一次设置多个key
mget 一次获取多个key对应的value
incr key 对应key的value+1
incrby key 对应key的value+n
decr key 对应key的value -1
decrby key 对应key的value -n
incrbyfloat key 针对小数的加减
append key value 拼接字符串
getrange key start end 获取指定范围字符串
setrange key offset value 从指定位置开始替换字符
strlen 获取字符串长度
Hash
hset key field value [field vlaue ...] 设置key中的 fleld value
hget key field 获取key对应的field
hexists key field 判断hash中key对应的field是否存在
hdel key field [field] 删除hash对应的key中field字段
hkeys key 获取key中的所有faild字段
hvals key 获取hash中的所有value
hgetall key 获取hash中的所有字段和value
hmget key field [field..] 一次查询多个field
hset nx key field key 设置值,不存在设置成功
hincrby key field n 对应faild的value加减n
hincrbyfloat key field n 加减小数
hstrlen key field 计算value的字符串长度
hlen key 获取哈希元素个数
List
lpush key element [element...] 左侧插入元素
lpushx key element [element] 存在元素则插入元素,不存在直接返回
rpush key element [element] 右侧插入元素
rpushx key element [element] 存在元素则插入元素,不存在直接返回
lrange key start stop 指定范围查看list
lpop key 左侧取出元素
rpop key 右侧取出元素
lindex key index 获取从左开始index元素位置
linsert key before | after pivot element 指定位置前后插入元素
llen key 获取元素个数
lrem key count element 删除指定个数的元素
ltrim key start stop 删除指定范围外元素
lset key index element 根据下标修改元素
blpop和brpop 带有阻塞的插入元素
blpop key[key...] timeout 带有超时时间
lpush 和 rpop 结合类似数据结构中的栈
lpush 和 lpush 结合类似数据结构中的队列
Set
sadd key member [member...] 添加元素
smembers key 获取集合中所有元素
sismember key member 判断元素是否存在集合中
spop key [count] 随机删除元素
srandmember [count] 随机取出元素
smove source destination member 将member删除,插入到目标集合中
srem key member [member...] 删除元素一个或多个
sinter key [key...] 求集合交集
sinterstore destination key [key...] 计算交集,结果放入集合中
sunion key [key] 计算并集
sunionstore destination key[key...] 计算并集,结果放入集合中
sdiff key [key...] 计算差集
sdiffstore destination key [key...] 计算差集,结果放入集合中
Zset
zadd key [NX | XX] [GT | LT] [INCR] score member[member...] 添加元素
zrange start stop with scores 使用下标指定查询集合,带有分数
zcard key 获取元素个数
zcount key min max 返回分数在区间min和max之间
zrevrange key min max with scores 按照分数逆序打印
zrevrangebyscore key min max with scores 按照分数逆序打印,带有分数
zpopmax key count 删除并返回分数最高的count个元素
bzpopmax key [key...] timeout 带有超时时间的阻塞删除
zpopmin key count 删除有序集合中最小count个元素
bzpopmin key [key...] timeout 带有超时时间的阻塞删除
zrank key member 返回指定元素的排名
zrevrank key member 降序返回元素排名
zscore key member 更具member查找元素
zrem key member [member] 删除指定有序集合元素
zremrangebyrank key start stip 规定下标范围删除
zremrangebyscore key min max 根据分数区间进行删除
zincrby key increment member 对分数进行增加,保持集合升序
zinterstore destination numkeys key[key...] [weights weight[weight...]]
[aggregate <sum | min | max>] 交集
zunionstore destination numkeys key[key...] [weights weight[weight...]]
[aggregate <sum | min | max>] 并集
相关文章:
Redis常见数据结构
目录 基本介绍 特点: 全局命令 数据类型: String Hash List Set Zset 基本介绍 Redis是一个在内存中存储数据的中间件,可作为数据库,缓存,消息队列等。 特点: 持久化:Redis会把数据存储在内存中…...
fps动作系统9:动画音频
文章目录 音频单播放音频文件也是可以的,只不过是2d声音。创建音频蓝图cue(音效)音量乘数 衰减(空间效果)音量自然声音内部半径衰减距离 空间化双声道 绑定到动画动画序列轨道 音频 单播放音频文件也是可以的,只不过是2d声音。 创建音频蓝图 cue(音效…...
十四、GitLab 流水线自动化部署之 Windows Server
一、软件下载 本文章采用 Windows 版本的 Gitlab Runner 客户端,下载地址参考如下: 链接:https://pan.baidu.com/s/1nktWQGR4toRpgzEn9Qj3kQ?pwd0p1d 提取码:0p1d --来自百度网盘超级会员V7的分享 二、环境安装 1、Java 环境…...
数据库数据恢复—MongoDB丢失_mdb_catalog.wt文件导致报错的数据恢复案例
MongoDB数据库存储模式为文档数据存储库,存储方式是将文档存储在集合之中。 MongoDB数据库是开源数据库,同时提供具有附加功能的商业版本。 MongoDB中的数据是以键值对(key-value pairs)的形式显示的。在模式设计上,数据库受到的约束更少。这…...
mysql8.0使用MGR实现高可用与利用MySQL Router构建读写分离MGR集群
MGR是MySQL Group Replication的缩写,即MySQL组复制。 在以往,我们一般是利用MySQL的主从复制或半同步复制来提供高可用解决方案,但这存在以下几个比较严重的问题: 主从复制间容易发生复制延迟,尤其是在5.6以前的版本…...
基于Ubuntu2404搭建k8s-1.31集群
k8s 1.31 环境初始化安装Container安装runc安装CNI插件部署k8s集群安装crictl使用kubeadm部署集群节点加入集群部署Calico网络配置dashboard 本实验基于VMware创建的Ubuntu2404虚拟机搭建k8s 1.31版本集群,架构为一主一从,容器运行时使用Container&#…...
Golang的图形编程应用案例
Golang的图形编程应用案例 一、Golang的图形编程概述 是一种高效、可靠且易于使用的编程语言,具有并发性和简洁性,因此在图形编程领域也有着广泛的应用。Golang的图形编程主要通过各种图形库来实现,其中最知名的是Go图形库(Ebiten…...
PostgreSQL 错误代码 23505 : ERROR: duplicate key value violates unique constraint
目录 1. 确认错误信息2. 检查数据3. 处理重复数据4. 检查唯一约束5. 添加唯一约束6. 使用事务处理并发操作7. 使用触发器8. 使用 ON CONFLICT 子句9. 重置序列10. 捕获异常并重试 错误代码 23505 是 PostgreSQL 中表示违反唯一约束(unique violation)的标…...
基于SpringBoot和PostGIS的省域“地理难抵点(最纵深处)”检索及可视化实践
目录 前言 1、研究背景 2、研究意义 一、研究目标 1、“地理难抵点”的概念 二、“难抵点”空间检索实现 1、数据获取与处理 2、计算流程 3、难抵点计算 4、WebGIS可视化 三、成果展示 1、华东地区 2、华南地区 3、华中地区 4、华北地区 5、西北地区 6、西南地…...
MySQL InnoDB引擎 MVCC
MVCC(Multi-Version Concurrency Control)即多版本并发控制,是 MySQL 的 InnoDB 存储引擎实现并发控制的一种重要技术。它在很多情况下避免了加锁操作,从而提高了数据库的并发性能。 一、原理 MVCC 的核心思想是通过保存数据在某…...
服务器使用centos7.9操作系统前需要做的准备工作
文章目录 前言1.操作记录 总结 前言 记录一下centos7.9操作系统的服务器在部署业务服务之前需要做的准备工作。 大家可以复制到自己的编辑器里面,有需求的注释一些步骤。 备注:有条件的项目推荐使用有长期支持的操作系统版本。 1.操作记录 # 更换阿里云…...
【Prometheus】prometheus结合cAdvisor监控docker容器运行状态,并且实现实时告警通知
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…...
【Stable Diffusion模型测试】测试ControlNet,没有线稿图?
相信很多小伙伴跟我一样,在测试Stable Diffusion的Lora模型时,ControlNet没有可输入的线稿图,大家的第一反应就是百度搜,但是能从互联网上搜到的高质量线稿图,要么收费,要么质量很差。 现在都什么年代了&a…...
算法刷题-数组系列-卡码网.区间和
题目描述 给定一个整数数组 Array,请计算该数组在每个指定区间内元素的总和。 示例: 输入: 5 1 2 3 4 5 0 1 1 3 输出: 3 9 要点 本题目以ACM的形式输入输出,与力扣的形式不一样,考察头文件的书写、数据结构的书写、…...
Druid GetConnectionTimeoutException解决方案之一
> Druid版本:v1.2.18 最近项目中经常出现:com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 120000, active 0, maxActive 128, creating 0, createErrorCount 2,但是其他平台连接这个数据源正常的 于是做了一个实验复…...
【JavaScript爬虫记录】记录一下使用JavaScript爬取m4s流视频过程(内含ffmpeg合并)
前言 前段时间发现了一个很喜欢的视频,可惜网站不让下载,简单看了一下视频是被切片成m4s格式的流文件,初步想法是将所有的流文件下载下来然后使用ffmpeg合并成一个完整的mp4,于是写了一段脚本来实现一下,电脑没有配python环境,所以使用JavaScript实现,合并功能需要安装ffmpeg,…...
CSDN2024年度总结|乾坤未定你我皆是黑马|2025一起为了梦想奋斗加油少年!!!
CSDN2024年我的创作纪念日1024天|不忘初心|努力上进|积极向前 一、前言:二、2024个人成长经历:HarmonyOS鸿蒙应用生态构建与扩展——杭州站AGI创新工坊&神经网络大模型——杭州站 三、2024年度创作总结:2024创作数据总结:博客…...
【前端】 react项目使用bootstrap、useRef和useState之间的区别和应用
一、场景描述 我想写一个轮播图的程序,只是把bootstrap里面的轮播图拉过来就用上感觉不是很合适,然后我就想自己写自动轮播,因此,这篇文章里面只是自动轮播的部分,没有按键跟自动轮播的衔接部分。 Ps: 本文用的是函数…...
联想电脑如何进入BIOS?
打开设置 下滑找到更新与安全 点击恢复和立即重新启动 选择疑难解答 选择UEFI固件设置 然后如果有重启点击重启 重启开机时一直点击FNF10进入BIOS界面...
蓝桥杯单片机大模板(西风)
#include <REGX52.H> #include "Key.h" #include "Seg.h" //变量声明区 unsigned char Key_Val,Key_Down,Key_Old;//按键扫描专用变量 unsigned char Key_Slow_Down;//按键减速专用变量 10ms unsigned int Seg_Slow_Down;//按键扫描专用变量 500ms …...
告别GSWP3:手把手教你为CESM2.1.3配置自定义气象强迫数据集(CLM1PT模式详解)
告别GSWP3:手把手教你为CESM2.1.3配置自定义气象强迫数据集(CLM1PT模式详解) 当研究团队需要将ERA5、CMIP6等新型再分析数据接入CESM模型时,往往会在数据接口环节遭遇"黑箱"操作困境。本文将以CLM1PT模式为切入点&#…...
从LightDM到DWM:打造轻量级Linux桌面启动链
1. 为什么选择LightDMDWM组合 如果你正在寻找一个既轻量又高度可定制的Linux桌面环境,LightDM搭配DWM的组合绝对值得考虑。我用了整整三个月时间测试各种显示管理器和窗口管理器的搭配,最终发现这套方案在资源占用和操作效率上达到了完美平衡。 先说说Li…...
5分钟掌握HunterPie:提升《怪物猎人:世界》狩猎效率的完整游戏辅助工具指南
5分钟掌握HunterPie:提升《怪物猎人:世界》狩猎效率的完整游戏辅助工具指南 【免费下载链接】HunterPie-legacy A complete, modern and clean overlay with Discord Rich Presence integration for Monster Hunter: World. 项目地址: https://gitcode…...
终极音频解密指南:3分钟解锁QQ音乐加密格式
终极音频解密指南:3分钟解锁QQ音乐加密格式 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 想要让QQ音乐下载的加密歌曲在任何播放器上自由播放吗?q…...
HMCL启动器社区参与指南:从新手到核心贡献者的完整路径
HMCL启动器社区参与指南:从新手到核心贡献者的完整路径 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL 你是否曾经遇到过游戏启动问题却不知向谁求助…...
CANN/asc-devkit ReduceMax API参考
ReduceMax 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/…...
IoT设备无线通信合规测试全解析
1. IoT设备无线通信合规测试概述在物联网设备设计中,无线通信功能已成为标配。无论是智能家居中的温控器,还是工业环境中的传感器节点,都需要通过无线方式实现数据交互。但许多开发者往往忽视了一个关键环节——射频合规性测试。我曾亲眼见证…...
让老旧游戏手柄重获新生:XOutput游戏手柄兼容工具使用指南
让老旧游戏手柄重获新生:XOutput游戏手柄兼容工具使用指南 【免费下载链接】XOutput DirectInput to XInput wrapper 项目地址: https://gitcode.com/gh_mirrors/xo/XOutput 还在为心爱的老手柄无法玩新游戏而烦恼吗?XOutput是一款专门解决Direct…...
SVG 滤镜:全面解析与高效应用
SVG 滤镜:全面解析与高效应用 引言 SVG(可缩放矢量图形)作为一种广泛使用的图形格式,因其具有高度的可缩放性和跨平台性而备受青睐。SVG 滤镜作为 SVG 的一项强大功能,能够实现丰富的图形效果,提升图形的表…...
混合量子-经典工作流编排的云原生实践
1. 混合量子-经典工作流编排的挑战与机遇量子计算正从实验室走向实际应用,但当前NISQ(Noisy Intermediate-Scale Quantum)时代的量子设备仍面临量子比特数量有限、噪声干扰强等限制。这使得混合量子-经典工作流(Hybrid Quantum–C…...
