Redis笔记(二) - key关键字和Redis五个数据类型

Halcon VariableInspect (变量检查拓展)安装指南 网址2; 阅读详情

说明

学习来源: 谷粒学院 - Redis

Redis - key关键字

keys *:查看所有数据;

exists key:查看key是否存在;

move key db:将指定键的值移动到指定的库中;

示例:move k1 1 将键为k1的数据移动到1号库中;

expire key:指定key的过期时间,单位值秒;

ttl key:查看key还有多长时间过期,-1表示永不过期,-2表示已过期;

type key:查看key的数据类型;

Redis五大数据类型

String(字符串)

a)string是Redis中最基本的数据类型,一个key对应一个value;

b)string类型是二进制安全的,即redis的string可以包含任何类型的数据,例如图片,序列化的对象;

c)string类型的value最多可以存储512M;

操作命令

set key value:设置键值;

get key:根据键获取值;

del key:删除键值;

append key str:在key的值后面追加上str;

strlen key:查看字符串长度;

incr key:将key的值加1,注:值必须是数字;

decr key:将key的值减1,注:值必须是数字;

incrby key num:将key的值加num,注:值必须是数字;

decrby key num:将key的值减num,注:值必须是数字;

getrange key beginIndex endIndex:获取键值索引值为beginIndex到endIndex之间的字符串;

setrange key offset value:在key的offset位置处插入value;

setex key seconds value(set with expire):设置key的过期时间,value是key的值

setnx key value(set if not exist):设置键值,当该key不存在时才设置,如果存在,则不设置;

mset key1 value1 [key2 value2 key3 value3 ...]:一次设置多个key value;

mget key1 [key2 key3 ...]:一次获取多个key的value;

msetnx key1 value1 [key2 value2 key3 value3 ...]:一次设置多个key value,当添加的所有key都不存在时,设置成功,如果有一个key已经存在,则都不设置;

getset key value:先获取key的值,在设置key的值为value;

List(列表)

a)Redis的List是简单的字符串列表,按照插入顺序排序,你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

b)List的底层实际是个链表。

操作命令

lpush key value1 [value2 value3 ...]:从list头部(左边)添加一个元素;

示例:lpush list01 1 2 3 4 5 存储的结果是54321

rpush key value1 [value2 value3 ...]:从list尾部(右边)添加一个元素;

示例:rpush list02 1 2 3 4 5 存储的结果是12345

lrange key start stop:获取key值start到stop的元素;

获取全部元素:lrange key 0 -1

lpop key:从头部(左边)出栈,出栈后该数据在list中就不存在了;

rpop key:从尾部(右边)出栈,出栈后该数据在list中就不存在了;

lindex index:获取list中下标为index位置的元素;

llen key:获取list的长度;

lrem key count value:删除count个value;

示例:lpush list 1 1 1 2 2 2 3 3 3 4 5 6

lrem list 2 3 删除list中2个值为3的元素;

ltrim key start stop:截取掉list中下标从start到stop的元素,保存剩余的;

rpoplpush source destination:把source中的尾部元素放在destination的头部;

lset key index value:将list中下标为index位置上的元素设置为value;

lInsertkey key before/after pivot value:在list中第一个值为pivot元素的前面或者后面添加value元素;

list的性能

list是一个字符串链表,left、right都可以插入元素;

如果键不存在,创建新的链表;

如果键已经存在,新增内容;

如果值全部移除,对应的键也就不存在了;

链表的操作无论是头和尾的效率都非常高,但假如是对中间元素进行操作,操作效率就非常低了。

Set(集合)

Redis的Set是string类型的无序集合。它是通过HashTable实现的。

操作命令

sadd key member1 [member2 member3 ...]:添加set集合;当有重复的元素,不添加;

smembers key:获取key中所有的元素;

sismembe key member:查看在key中是否有member元素;

scardr key:获取key集合中的元素个数;

srem key member1 [member2 ...]:删除key集合中的指定元素;

srandmember key [count]:随机获取key集合中的元素,默认获取1个,可以指定获取的个数;

spop key:随机出栈;

smove key1 key2 member:将key1集合中的member元素移动操key2集合中;

并集、交集、差集

sdiff key1 key2:差集,在第1个set中而不在第2个set中的元素;

sinter key1 key2:交集;

sunion key1 key2:并集;

Hash(哈希,类似Java里的Map)

a)Redis hash是一个键值对集合,是一个String类型的field和value的映射表,hash特别适合用与存储对象;

b)类似Java里面的Map<String, Object>;

操作命令

hset key field value:往map集合中添加一个元素;

示例:hset user id 10001

hget key field:获取map集合中field元素的值;

示例:hget user id

hmset key field1 value1 [field2 value2 field3 value3 ... ]:往map集合中添加多个元素;

hmget key field1 [field2 field3 ...]:获取map和中多个field元素的值;

hgetall key:获取map集合中的所有元素值;

hdel key field1 [field2 field3 ...]:删除map集合中的多个元素;

hlen key:获取map集合元素的个数;

hexists key field:map集合中是否存在field元素;

hkeys keys:获取map集合中所有key的名字;

hvals keys:获取map集合中所有的value值;

hincrby key field increment:把map集合中field元素的值加increment,注:该元素的值必须是数字;

hincrbyfloat key field increment:同上,不过加的是小数;

hsetnx key field value:往map集合中添加元素,当该元素不存在时添加,存在时不添加;

Zset(sorted set:有序集合)

a)Redis的Zset和set一样也是string类型元素的集合,且不允许重复的成员。

b)不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序,Zset成员是唯一的,但分数(score)却可以重复。

c)形象的描述:Zset在set的基础上,加一个score值,之前set是k1 v1 v2 v3,现在zset是k1 score1 v1 score2 v2;

操作命令

zadd key score1 member1 [score2 member2 ...]:添加;

示例:zadd zset01 10 v1 20 v2

zrange key start stop [withscores]:获取;

示例:zrange zset01 0 -1 [withscores]

zrangebyscore key min max [withscores] [limit offset count]:获取集合中score值在min到max之间的元素,limit关键字可以将获取的元素再进行分页显示,offset是开始元素,count是显示个数;

示例:zrangebyscore zset 10 20 获取10<=score>=20的元素;

zrangebyscore zset (10 20 获取10<score>=20的元素;

注:( 是不包含的意思;

zrangebyscore zset 10 20 limit 0 2 获取10<score>=20的元素,从第1个元素开始显示,显示2个;

zrem key member [member ...]:删除集合中的一个或多个元素;

zcard key:获取集合中元素的个数;

zcount key min max:获取集合中score值在min到max之间的元素;

zrank key member:获取集合中member元素的下标值;

zscore key member:获取集合中member元素的score值;

zrevrank key member:逆序获取集合中member元素的下标值;

zrevrange key start stop [withscores]:逆序获取集合中的元素;

zrevrangebyscore key max min [withscores] [limit offset count]:同zrangebyscore,但是逆序获取元素;

PaddleOCR全版本完整指南:从入门到精通,全面解析安装部署与高级应用 摘要 本文详细介绍了PaddleOCR的完整安装与使用指南。首先讲解了环境准备步骤,包括Python 3.11虚拟环境创建和PaddlePaddle框架的CPU/GPU版本安装。接着介绍了PaddleOCR库的安装方式,可选功能模块(文档解析、信息抽取、翻译等)及其依赖组。通过示例代码演示了PPStructureV3文档解析功能的基本用法,并提供了安装验证方法。最后针对常见问题(Windows中文用户名报错、模型下载问题)给出解决方案。文章为从入门到精通的PaddleOCR用户提供了全面的技术指导。 阅读详情

相关推荐

提升仿真效率:Synopsys VCS高级编译选项优化技巧(2023最新版)

本文深入探讨了Synopsys VCS 2023版本中的高级编译选项优化技巧,帮助工程师提升仿真效率。通过并行编译、智能代码分析、精准覆盖率采样等策略,结合真实案例展示如何显著缩短仿真周期并优化资源使用,适用于数字芯片验证和大型SoC设计。

weixin_30338481的博客 113

Redis的key关键字和五种常用数据类型:String、List、Hash、Set、Zset及其示例演示

1、key关键字 1、set/get/keys/del set u1 zhang3 #####添加数据 get u1 #####获取数据 exists u1 #####获取数据 del u1 #####删除数据 keys * #####获取所有数据 2、expire/ttl/type expire u1 10 ...

曹利荣的博客 1271

UVM环境复位--stop_sequences()

在UVM验证环境中, stop_sequences是一个用于强制终止所有正在运行的 Sequence 的方法,通常用于动态控制激励生成流程。1.通过uvm_config_db传递事件和严格的同步机制,此方案符适用于复杂复位场景和动态测试控制。组件耦合:Driver 和 Sequence 不再直接依赖env,通过标准接口通信。竞争条件:确保 Driver 完成清理后再终止 Sequence。代码健壮性:使用非阻塞操作和事件监听,避免死锁。

qq_42779035的博客 3013

redis常见关键字

存:     set 键 值 取:     get 键 查看:    keys 匹配 清空当前库: FLUSHDB 清空所有库: FLUSHALL 判断是否存在: EXISTS 键 查询当前库的key: keys (匹配) 移动key:move 键 库号 为给定的key设置过期时间 : expire 键 秒钟 查看还有多少秒过期:-1表示永不过期,-2表示已过期 ttl 键 查看你的key是什么类型:type 键 删除键:del 键 ...

6096

DC/DC开关电源EMC仿真红宝书

本红宝书系统性介绍开关电源EMC仿真方法,包括仿真原理、仿真思路、仿真工具以及仿真效率提升与仿测一致性的实战经验。从理论到仿真,从仿真到应用,真正帮你实现一文掌握开关电源EMC仿真!全文约14000字,适读人群:开关电源设计、电磁兼容EMC相关从业者,电磁相关专业研究生及CST仿真爱好者等。

电磁学社 2498

从零到一:桌面宠物的硬件架构设计与工程实践

本文详细介绍了基于STM32F103C8T6主控平台的桌面宠物机器人硬件架构设计与工程实践。内容涵盖电源管理、舵机控制、PCB布局及系统调试等核心环节,为硬件爱好者提供从零到一的完整开发指南,助力打造稳定可靠的智能桌面伴侣。

alice7model的博客 1112

Redis(四) -- Redis数据类型(一) -- String

string是Redis最基本的类型,可以理解成与memcached一模一样的类型,一个key对应一个valuestring类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jpg图片或者序列化的对象一个redis中字符串value最多可以是512M。

weixin_39724194的博客 1332

Bybit面经

这段总结描述了求职者在Bybit面试过程中的经历和相关问题,包括面试内容、求职者向面试官提问的问题以及关于Bybit的信息

郑泽洲的博客 2578

Redis---B站学习---redis数据类型和key关键字

Redis—B站学习—redis数据类型和key关键字 Redis的五大数据类型 string(字符串) String(字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。 string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。 string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M hash(哈希,类似java里的Map)

qq_39314972的博客 293

Cadence DSP 算子开发实战:从入门到精通

本文详细介绍了Cadence DSP算子开发的实战技巧,从入门基础到高级优化。内容涵盖DSP架构特性、内存管理、分块计算策略、SIMD指令优化等核心知识,并提供了性能调优和调试的实用技巧,帮助开发者快速掌握Cadence DSP开发精髓,提升图像处理等计算密集型任务的开发效率。

weixin_29278805的博客 433

使用FSL对DTI数据进行预处理

在fsl官网我们可以看到是同时使用了AP和PA图像处理,采用的是最小二乘法将2个图像合并为1个图像。–inindex此处需要处理的是PA图像,在acq_param.txt中我们是把这个放在第一行的,此处为1,如果处理的是AP图像,则此处为2。为了校正磁场引起的畸变,对DTI的B0像分别采集了A>P和P>A的反向编码的两种B0像。即如果AP和PA只有1个B0像时,那么这里就是两行,如果各有3个B0像则这里应该是6行。假设转换后的图像为sub01_AP.nii.gz和sub01_PA.nii.gz。

weixin_52073820的博客 4839

Redis 基础

Redis是一个高性能的key-value数据库,key是字符串类型。

jmz98的博客 551

智慧安防:基于Java+YOLOv8的视频AI识别平台设计与实现

张工,我们的园区智慧安防项目又出问题了!用Python写的YOLOv8 demo,拉3路RTSP流就卡,视频延迟超过5秒,入侵检测误报率太高,一到晚上光线差就全是误报,而且和我们的Java安防平台对接太麻烦,还要搭个消息队列,架构复杂得要死!“别慌,用Java+YOLOv8啊!

2601_94871597的博客 196

Redis如何查看KEY的数据类型

请注意,Redis中的命令对大小写不敏感,但是key的名称在实际使用中通常是区分大小写的。此外,确保在执行这些命令之前,相应的key已经存在于Redis中,并且存储了正确的数据类型。在Redis中,获取存储在key中的具体数据时,需要使用与数据类型相对应的命令。编程语言中的使用:如果你在编程中使用Redis,可以通过相应的Redis客户端库执行。命令来查看特定key的内部编码信息,这有助于了解Redis是如何存储该key的值的。是你想要查询的key的名称,来获取该key存储的值的类型。

Say.夏夜的博客 2888

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Redis的大key和热key如何解决

字符串类型(String):单个Key的Value特别大,一般认为在普通业务场景下,如果单个String类型的value大于1MB,或者在高并发低延迟场景中大于10KB,就可能被视为大Key集合数据类型:如Hash、Set、ZSet、List等,其中的元素数量过多或总体数据量过大。例如,一个Hash类型Key的成员数量虽只有1000个,但这些成员的Value总大小达到100MB,或者一个ZSet类型的Key成员数量达到10000个内存占用过高。

我的博客 2167

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Redis从入门到精通(二)Redis的数据类型和常见命令介绍

在上一节【Redis从入门到精通(一)Redis安装与启动、Redis客户端的使用】中,学习了Redis的基本特点与优势,并比较了关系型数据库与非关系型数据库的区别;然后在Linux系统上安装了最新版本的Redis,并使用多种方式成功启动;最后学习了Redis的三种客户端,即命令行客户端、图形化桌面客户端,以及编程客户端。这一节学习Redis的五种基本数据类型及其常见命令。

挑灯日记 记录自己 1233

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Redis系列(二)Redis数据类型和常用命令

Redis数据类型,Redis常用命令

kong7906928的博客 2261

redis大key和热key

redis中大key、热key的问题的处理

zcl_1991的博客 1489

Redis 的 Key 和 Value 设计原则

在使用 Redis 时,合理设计 Key 和 Value 至关重要。

m0_57836225的博客 1564

redis查看所有key和value_Redis介绍和数据类型及单机版安装

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即mas...

weixin_39900286的博客 1万+

redis大key排查指南

大 key 是指:单个 key 本身的内容过大(如一个超长字符串、超长列表、集合等)或者一个集合类 key(如 hash、list、zset、set)中 元素数量过多Redis 是单线程模型,一次性访问、删除大 key 可能阻塞主线程导致其他请求延迟。常见的大 Key 类型数据类型表现形式String超大字符串,如缓存整页 HTML、全文数据等List超长队列,如上万条记录未消费Hash字段数量巨大,如几万个属性包含大量成员。

分享技术,分享经验 2107

redis查看所有的key和value

使用 Redis 查看所有的 Key 和 Value 在开发中,数据的快速访问和操作是至关重要的,Redis 是一个高性能的键值数据库,可以高效地存储和获取数据。如果你是刚入行的小白,想要查看 Redis 中的所有键(key)及其对应的值(value),本文将为你详细讲解整个过程。 流程概览 为了方便理解,我们将整个过程分...

weixin_41030697的博客 4743

Redis简介、数据类型和命令

redis简介、数据类型和命令

吴名氏的博客 13万+

【Redis】浅析Redis大Key

在 Redis 中,大 Key 是指在 Redis 中存储的单个键值对所占的空间过大,对于大 Key 也没有严格的定义区分,但通常满足以下条件的 Key 会被视为大 Key本文介绍了 Redis 中大 Key 的定义及其可能引发的问题,并提供了快速定位大Key的方法以及优化方案。通过合理的优化措施,我们可以有效提升 Redis 的性能,改善用户体验。

qq_62095670的博客 2094

Redis入门——Key、五大数据类型图文详解

文章目录1、Redis简介2、Redis常见命令3、Redis_Key关键字4、五大数据类型简介4.1、String(字符串)4.2、List(列表)4.3、Set4.3、Hash4.4、ZSet 1、Redis简介       Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,

Code皮皮虾的博客 4589

redis基本数据类型和常见命令

Redis是典型的key-value(键值型)数据库,key一般是字符串,而value包含很多不同的数据类型:Redis为了方便我们学习,将操作不同数据类型的命令也做了分组,在官网()可以查看到不同的命令:在redis客户端中,可以通过help @命令组名或help 命令名查看命令的用法本文首先将对redis的通用命令进行介绍,在讲解redis的5种基本数据类型(String,Hash,List,Set,SortedSet)中穿插介绍在redis中key的结构该如何设置。

c1tenj2的博客 1382
上一篇: Redis笔记(一) - Linux下Redis的安装
下一篇: SVN学习笔记 - SVN的简介和使用
昔小年
博客等级 码龄11年 17粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值