首页 > 数据库 >Redis基础数据类型&命令

Redis基础数据类型&命令

时间:2024-02-23 16:56:56浏览次数:22  
标签:hash 数据类型 元素 Redis 指定 命令 字符串 key 集合

key

redis的最基本类型,一般格式为 system-code:moudle-code:busines-key。常用命令

keys

查看当前数据库中的key列表
查看所有未到期的key
image
通过通配符匹配
image

exists

判断key是否存在 1-存在 0-不存在
image

type

获取key对应数据体的数据类型
image

del

删除指定的key数据
image

非阻塞删除key数据
image

ttl

查看key还有多少秒过期,-1永不过期,-2已过期
image

expire

设置key的剩余过期时间,单位秒
image

move key dbindex

将key的数据移动到指定的db数据库【0-15】中
image

select dbindex

切换当前客户端使用的db数据库【0-15】
image

dbsize

查看当前数据库中key的数量
image

flushdb

清空当前数据库的key
image

flushall

清空所有数据库的key
image

string

字符串是一种最基本的Redis值类型

APPEND

如果 key 已经存在,并且值为字符串,那么这个命令会把 value 追加到原来值(value)的结尾。 如果 key 不存在,那么它将首先创建一个空字符串的key,再执行追加操作,这种情况 APPEND 将类似于 SET 操作
image

DECR

操作数值类型字符串,做减1操作
image

DECRBY

操作数值类型字符串,根据步长做减操作
image

GETRANGE

获取指定范围的字符串内容
image

GETSET

变更字符串内容,并返回变更前的内容
image

INCR

操作数值类型字符串,做加1操作
image

INCRBY

操作数值类型字符串,根据步长做加操作
image

INCRBYFLOAT

操作浮点数值类型字符串,根据步长做加操作
image

LCS(redis.7.x新特性)

字符串内容相同内容匹配
image

mset & mset

批量更新和批量获取
image

msetnx

批量设置内容,仅在key为空时设置成功,多个key为原子性操作
image

set

设置字符串内容,命令格式:SET key value [NX | XX] [GET] [EX seconds | PX milliseconds |
EXAT unix-time-seconds | PXAT unix-time-milliseconds | KEEPTTL]
image

setnx

设置字符串内容,为空时设置成功
image

setrange

在指定的下标处添加字符串;若key不存在,则新增key,并使用空串补位
image

strlen

获取字符串长度
image

List

Redis列表是简单的字符串列表,按照插入顺序排序

LPUSH

队列左侧插入元素
image

LPUSHX

队列左侧插入元素,仅key存在时插入成功
image

LRANGE

从左侧便利元素内容,命令格式:LRANGE key start stop

LREM

从左侧开始,删除指定数量的元素,当数量为负时表示删除最后插入的元素开始删除
image

LSET

从左侧开始,在指定的下标处插入元素
image

LTRIM

从左侧开始,截取队列指定范围的元素
image

LPOP

从左侧开始,推出指定数量的元素
image

LPOS

从左侧开始,给出指定元素的下标值
image

LINDEX

从左侧开始,根据指定的下标获取元素
image

LINSERT

从左侧开始,在指定元素附件插入元素
image

llen

llen key,查看队列中元素的数量

LMOVE

命令格式:LMOVE source destination <LEFT | RIGHT> <LEFT | RIGHT>
将队列中的元素移除并插入到新的队列
image

LMPOP(redis.7.X新特性)

批量推出多个key中的元素
命令格式:LMPOP numkeys key [key ...] <LEFT | RIGHT> [COUNT count]

队列右侧操作相关命令

RPOP、RPUSH、RPUSHX用法与左侧操作命令类似

队列同步阻塞相关命令

BLMOVE、BLMPOP、BLPOP、BRPOP,用法与非阻塞命令类似。

Set

Redis集合是一个无序的字符串合集,集合内的元素不能重复

sadd

在集合中添加元素
image

scard

返回集合中元素的数量
image

smembers

遍历集合元素
image

sdiff

比较多个集合中不同的元素有哪些,key的顺序不同时,返回的结果不同
image

sdiffstore

统计多个集合中不同的元素,并将统计结果存储在新的集合中
image

sinter

统计多个集合中相同的元素
image

sintercard(redis.7.x新特性)

统计多个集合中相同元素的数量
image

sinterstore

统计多个集合中相同元素,并存储到新的集合中
image

sismember

判断集合中是否存在某个元素
image

smismember

批量判断集合中是否存在某些元素
image

smove

将集合中的某个元素移动到另一个集合中
image

spop

从集合中随机推出指定数量的元素(默认1个)
image

srandmember

从集合中随机返回指定数量(默认1)的元素,若指定数量大于总数量则返回所有数据,若指定数量小于0则按照指定数量的绝对值返回,可能出现重复元素
image

srem

从集合中移除指定的元素
image

sunion

取两个集合去重后的并集
image

sunionstore

取两个集合去重后的并集,并存储在新集合中
image

sscan

通过游标+表达式迭代匹配集合元素
image

hash

Redis Hashes是字符串字段和字符串值之间的映射,所以它们是完美的表示对象的数据类型。

hset

添加hash的key-vlaue内容
image

hget

获取hash数据内容中指定name的内容
image

hgetall

获取整个hash数据的内容
image

hdel

删除hash数据中指定name的内容
image

hexists

判断hash数据中是否存在某个属性
image

hincrby

按步长给hash数据中的数值类型属性做加操作
image

hincrbyfloat

按步长给hash数据中的数值类型属性做加操作,针对浮点数据
image

hkeys

查看hash数据中所有的属性
image

hlen

查看hash数据中的属性数量
image

hmset

添加hash的key-vlaue内容,使用上与hset一致,区别于hmset设置多个键值对时是原子性操作

hmget

一次性获取多个hash数据的键值对
image

hrandfeild

随机获取hash数据的属性值
image

hscan

通过游标+表达式,迭代匹配hash数据
image

hsetnx

在hash数据中添加属性,仅当属性不存在时添加成功
image

hstrlen

获取hash数据中某个属性值内容的长度
image

hvals

获取hash数据中所有键值对的值
image

Sorted sets

Redis有序集合和Redis集合类似,是不包含 相同字符串的合集。它们的差别是,每个有序集合 的成员都关联着一个评分,这个评分用于把有序集 合中的成员按最低分到最高分排列。

zadd

向有序列表中添加元素,格式:ZADD key [NX | XX] [GT | LT] [CH] [INCR] score member [score member
...]

  • XX: 仅仅更新存在的成员,不添加新成员。
  • NX: 不更新存在的成员。只添加新成员。
  • GT:仅当新分数大于当前分数时才更新现有元素。此标志不会阻止添加新元素。
  • LT:仅当新分数小于当前分数时才更新现有元素。此标志不会阻止添加新元素。
  • CH: 修改返回值为发生变化的成员总数,原始是返回新添加成员的总数 (CH 是 changed 的意思)。更改的元素是新添加的成员,已经存在的成员更新分数。 所以在命令中指定的成员有相同的分数将不被计算在内。注:在通常情况下,ZADD返回值只计算新添加成员的数量。
  • INCR: 当ZADD指定这个选项时,成员的操作就等同ZINCRBY命令,对成员的分数进行递增操作。
    image

zcard

统计有序列表中元素的数量
image

zcount

统计有序列表中,匹配分数段中元素的数量
image

zdiff

统计多个集合不一致的元素,命令格式:ZDIFF numkeys key [key ...] [WITHSCORES]
image

zdiffstore

统计多个集合中不一致的元素,并存储到新的结合,用法与sdiffstore一致

zincrby

对集合中指定元素的分数按照步长做加操作
image

zinter

统计多个集合中相同的元素,使用方式与sinter一致

zintercard

统计多个集合中相同的元素的数量,使用方式与sintercard一致

zinterstore

统计多个集合中相同的元素,并存储到新的集合中,使用方式与sinterstore一致

zlexcount

ZLEXCOUNT 命令用于计算有序集合中指定字符串ascll范围内元素之间的元素数量,根据指定字符串的ascll总数与元素名称的ascll总数匹配,(-不包含指定字符串,[-包含指定字符串。
image

zmpop

根据分数排名推出指定数量的元素,命令格式:ZMPOP numkeys key [key ...] <MIN | MAX> [COUNT count]
image

zmscore

获取集合中指定元素的分数
image

zpopmax zpopmin

按照分数大\小排序,推出指定数量的元素,zpop命令的扩展
image

zrandmember

随机获取指定数量(默认1)的元素
image

ZRANGE

输出符合匹配范围的集合元素,命令格式:ZRANGE key start stop [BYSCORE | BYLEX] [REV] [LIMIT offset count]
[WITHSCORES]

  • BYSCORE: 按照分数匹配
  • BYLEX: 按照字符串ascll匹配
  • REV:排序反转
  • LIMIT offset count:分页使用
    image

zrangestore

将符合匹配范围的集合元素输出到新的集合中,命令格式:ZRANGESTORE dst src min max [BYSCORE | BYLEX] [REV] [LIMIT offset
count]

zrank

输出集合中指定元素的排名,排名从0开始
image

zrem

移除集合中指定的元素
image

ZREMRANGEBYLEX ZREMRANGEBYRANK ZREMRANGEBYSCORE

分别根据字符串ascll、分数排名、分数范围移除集合中元素,格式如下:
ZREMRANGEBYLEX key min max
ZREMRANGEBYSCORE key min max
ZREMRANGEBYSCORE key min max

zrevrank

输出集合中指定字符串的倒叙排名
image

zscan

根据游标匹配集合元素
image

zscore

获取集合中指定元素的分数
image

zunion

将多个有序集合的元素合并后输出,命令格式:ZUNION numkeys key [key ...] [WEIGHTS weight [weight ...]]
[AGGREGATE <SUM | MIN | MAX>] [WITHSCORES]

  • WEIGHTS:分数权重,默认为1,每个集合元素乘以各集合的权重后做合并
  • AGGREGATE:分数合并方式:SUM-同元素汇总 MIN-取同元素中最小分数 MAX-取同元素中最大值
    image

ZUNIONSTORE

将多个有序集合的元素合并,并存储到新的有序集合中

阻塞命令相关BZMPOP、BZPOPMAX、BZPOPMIN

  • BZMPOP:按照指定的排序方式推出多个队列中指定数量的元素,命令格式:BZMPOP timeout numkeys key [key ...] <MIN | MAX> [COUNT count]
  • BZPOPMAX:按照从大到小的顺序推出多个队列中最大元素,命令格式:BZPOPMAX key [key ...] timeout
  • BZPOPMIN:按照从小到大的顺序推出多个队列中最小元素,命令格式:BZPOPMIN key [key ...] timeout

标签:hash,数据类型,元素,Redis,指定,命令,字符串,key,集合
From: https://www.cnblogs.com/zly1015/p/18005319

相关文章

  • Redis能保证数据不丢失吗?
    大家即使没用过Redis,也应该都听说过Redis的威名。Redis是一种Nosql类型的数据存储,全称RemoteDictionaryServer,也就是远程字典服务器,用过Dictionary的应该都知道它是一种键值对(Key-Value)的数据结构,所以Redis也称为KV存储。Redis的用途十分广泛,包括帮助网页快速加载,管理登录状......
  • redis自学(4)ZipList
    ZipList是一种特殊的“双端链表”,由一系列特殊编码的连续内存块组成。可以在任意一端进行压入/弹出操作,并且该操作的时间复杂度为O(1)。    ZipListEntryZipList中的Entry并不像普通链表那样记录前后节点的指针,因为记录两个指针要占用16个字节,浪费内存。而是采用了下......
  • linux基础命令(七)
    find高级使用–find[目录][条件1][-a|-o][条件2]...–常用条件表示:-type类型(f、d、l)f:文本文件d:目录l:快捷方式-name"文档名称"-size+|-文件大小(k、M、G)-user用户名-mtime根据文件修改时间###################################......
  • linux基础命令(六)
    #################################################权限和归属基本权限•访问方式(权限)–读取:允许查看内容-read r4–写入:允许修改内容-write w2–可执行:允许运行和切换-execute......
  • 安全运维:cmd命令大全(108个)
    1、calc:启动计算器2、appwiz.cpl:程序和功能3、certmgr.msc:证书管理实用程序4、charmap:启动字符映射表5、chkdsk.exe:Chkdsk磁盘检查(管理员身份运行命令提示符)6、cleanmgr:打开磁盘清理工具7、cliconfg:SQLSERVER客户端网络实用工具8、cmstp:连接管理器配置文件安装程序9......
  • ffmpeg 工具及命令介绍
    ffprobe工具介绍查看帮助信息:ffprobe--help使用方式:ffprobe[OPTIONS][INPUT_FILE]查看多媒体数据包:ffprobe-show_packetsoutput.mp4ffprobe-show_packets-show_dataoutput.mp4查看封装格式:ffprobe-show_formatoutput.mp4查看视频文件的帧信息:ffprobe-sh......
  • Redis分布式锁的正确使用姿势
    前言分布式锁在日常开发中,用处非常的多。包括但不限于抢红包,秒杀,支付下单,幂等,等等场景。分布式锁的实现方式有多种,包括redis实现,mysql实现,zookeeper实现等等。而其中redis非常适合作为分布式锁使用,并且在各个公司都大规模的使用。本文将由浅入深的探究Redis分布式锁的实现,最终......
  • docker常用命令
    docker教程1镜像相关1.1查看镜像列表sudodockerimages1.2镜像搜索比如搜索ubuntu基础镜像sudodockersearchubuntu可输出官方的镜像名称,以及star数量,选择一个需要的镜像下拉即可1.3下拉镜像sudodockerpull镜像名sudodockerpull镜像名:Tag1.4查看镜......
  • 修改linux终端命令行各字体颜色
    1.了解PS1PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。在终端输入命令: echo$PS1     PS1的常用参数以及含义:\d:代表日期,格式为weekdaymonthdate,例如:"MonAug1"\H:完整的主机名称\h:仅取主机名中的第一个名字\t:......
  • clickhouse 数据类型介绍
    clickhouse数据类型介绍clickhouse数据类型主要包括以下几种:   (1)、基础类型:       数值类型:包括整数、浮点数和定点数。           a、整数:有符号整型Int,分为Int8、Int16、Int32和Int64,分别对应8位、16位、32位和64位整数,占用字节大小分别为1、2、4......