Redis操作命令

目录

Redis操作命令

一、Kev的操作命令

二、字符串的操作命令

三、哈希数据的操作命令

四、列表类型常用命令

五、其他常用命令列表


Redis操作命令

一、Kev的操作命令

命令描述用法
DEL(1)删除给定的一个或多个Key (2)不存在的Key将被忽略DEL key [key ...]
EXISTS(1) 检查给定Key是否存在EXISTS key
EXPIRE(1)为给定Key设置生存时间 (2)对一个已经指定生存时间的Key设置执行 EXPIRE ,新的值会替代旧的值EXPIRE key seconds
KEYS查找所有符合给定模式 pattern 的key,例如:(1)KEYS 匹配所有key (2)KEYS h?llo 匹配 hello,hallo,hxllo等 (3)KEYS hllo 匹配hllo,heeeeello等 (4)KEYS h[ae]llo 匹配 hello和halloKEYS pattern
MIGRATE(1)原子性的讲Key从当前实例传送到目标实例指定的数据库上 (2)源数据库Key删除,新数据库Key增加 (3)阻塞进行迁移的两个实例,直到迁移成功,迁移失败,等待超时三个之一发生MIGRATE host port key destination-db timeout [COPY] [REPLACE] 移动单个数据 migrate 目标Redis的ip 目标Redis的端口 Key 目标数据库号 时延
MOVE(1) 将当前数据库的Key移动到给定数据库中 (2)执行成功的条件为当前数据库有Key,而给定数据库没有KeyMOVE key db
PERSIST(1)移除给定Key的生存时间,将Key变为持久数据PERSIST key
PANDOMKEY(1)从当前数据库随机返回且不删除一个KeyPANDOMEY
RENAME(1)将Key的键名修改为新键名(2)新键名已存在,RENAME将覆盖旧值RENAME key newkey
TYPE(1)返回Key所存储的值的类型TYPE key

del操作

image-20240110203603357

exists操作

ttl和expire搭配使用

ttl 用于查看变量的生命周期(单位为秒) 当结果为 -1 时,表示生命周期为永久存在 当结果表示-2时,表示生命周期结束,该变量已销毁

expire用于设置变量的周期(单位为秒)

image-20240110204601027

name 变量永久存在 设置其生命周期为10秒,可以用 ttl name 来查看其生命时长 当生命周期过了之后该变量就不再存在,所以就 get 不到了

persist

相当于是和expire互补的一条指令,它用于将变量的生命周期设为永久

image-20240110205438531

move

移动该数据库中的变量到别的数据库中,别的数据库中不能已经存在该变量

image-20240110210252389

randomkey

任意获取一个Key

image-20240110212244995

二、字符串的操作命令

命令描述用法
SET(1)将字符串值value关联到Key (2)Key已关联则覆盖,无视类型 (3)原本Key带有生存时间TTL,那么TTL被清除SET key value [EX seconds] [PX milliseconds] [NX|XX]
GET(1) 返回Key关联的字符串值 (2) Key不存在返回null (3) Key存储的不是字符串,返回错误,因为GET只用于处理字符串GET key
MSET(1) 同时设置一个或多个Key-Value键值对 (2) 某个给定Key已经存在,那么MSET新值会夏盖旧值 (3) 如果上面的覆盖不是希望的,那么使用MSETNX命令,所有Key都不存在才会进行覆盖 (4) MSET是一个原子性操作,所有Key都会在同一时间被设置,不会存在有些更新有些没更新的情况MSET key value [key value ...]
MGET(1) 返回一个或多个给定Key对应的Value (2) 某个Key不存在那么这个Key返回nilMGET key [key ...]
SETEX(1)将Value关联到Key (2) 设置Key生存时间为seconds,单位为秒 (3) 如果Key对应的Value已经存在,则覆盖旧值 (4)SET也可以设置失效时间,但是不同在于SETNX是一个原子操作,即关联值与设置生存时间同一时间完成SETEX key seconds value
SETNX(1)当Key不存在时将Key的值设为Value (2) 若给定的Key已存在,SEXNX不做任何动作SETNX key value
INCR(1) Key中存储的数字值+1,返回增加之后的值 (2) Key不存在,那么Key的值被初始化为0再执行INCR (3) 如果值包含错误类型或者字符串不能被表示为数字,那么返回错误 (4)值限制在64位有符号数字表示之内INCR key
DECR(1)Key中存储的数字值减一 (2) 其余同INCRDECR key
INCRBY(1)将key所存储的值加上增量返回增加之后的值 (2) 其余同INCRINCRBY key increment
DECRBY(1)将key所存储的值减去减量decrement (2) 其余同INCRDECRBY key decrement

mset

image-20240110215016239

mget

image-20240110215058615

setex

set + expire

setex key seconds value

setnx

如果setnx的key已经存在则不会做任何操作,反之构建key-value键值对

三、哈希数据的操作命令

命令描述用法
HSET(1)将哈希表Key中的域Field的值设为Value (2) Key不存在,一个新的Hash表被创建 (3) Field已经存在,旧的值被覆盖HSET key field value 注意:这里的 key是不允许重复的
HGET(1)返回哈希表Key中给定域Field的值HGET key field
HDEL(1)删除哈希表Key中的一个或多个指定域 (2)不存在的域将被忽略HDEL key filed [field...]
HEXISTS(1)查看哈希表Key中,给定域Field是否存在,存在返回1,不存在返回0HEXISTS key field
HGETALL(1)返回哈希表Key中,所有的域和值HGETALL key
HINCRBY(1)为哈希表Key中的域Field加上增量Increment (2) 其余同INCR命令HINCRYBY key filedincrement
HKEYS(1)返回哈希表Key中的所有域HKEYS key
HLEN(1)返回哈希表Key中域的数量HLEN key
HMGET(1)返回哈希表Key中,一个或多个给定域的值 (2)如果给定的域不存在于哈希表,那么返回一个nil值HMGET key field [field ...]
HMSET(1)将多个Field-Value对设置到哈希表Key中 (2) 会覆盖哈希表中已存在的域 (3) Key不存在,那么一个空哈希表会被创建并执行HMSET操作HMSET key field value [field value ..]
HVALS(1)返回哈希表Key中所有的域和值HVALS key

HSET

image-20240111183108735

对应的就是

image-20240111183137030

HGET

image-20240111183343870

hgetall

image-20240111184228363

hkeys

image-20240111184500773

这是普通键值对与哈希键值对的区别

hlen

其结果就是这个key中的filed的个数

hmset

image-20240111185256411

四、列表类型常用命令

命令描述用法
LPUSH(1)将一个或多个值Value插入到列表Key的表头 (2) 如果有多个Value值,那么各个Value值按从左到右的顺序依次插入表头 (3) Key不存在,一个空列表会被创建并执行LPUSH操作 (4)Key存在但不是列表类型,返回错误LPUSH key value [value ...
LPUSHX(1)将值Value插入到列表Key的表头,当且仅当Key存在且为一个列表 (2)当Key不存在时,LPUSHX命令什么都不做LPUSHX key value
LPOP(1) 移除并返回列表Key的头元素LPOP key
LRANGE(1)返回列表Key中指定区间内的元素,区间以偏移量Start和Stop指定 (2)Start和Stop都以0为底开始计数 (3)可使用负数下标,-1表示列表最后一个元素,-2表示列表倒数第二个元素,以此类推 (4)Start大于列表最大下标,返回空列表 (5) Stop大于列表最大下标,Stop=列表最大下标LRANGE key start stop
LREM(1)根据Count的值,移除列表中与Value相等的元素 (2) Count>0表示从头到尾搜索,移除与Value相等的元素,数量为Count (3) Count<0表示从尾到头搜索,移除与Value相等的元素,数量为Count (4) Count=0表示移除表中所有与Value相等的元素LREM key count value
LSET(1)将列表Key下标为index的元素值设为Value (2) Index参数超出范围,或对一个空列表进行LSET时,返回错误LSET key index value
LINDEX(1)返回列表Key中,下标为Index的元素LINDEX keyindex
LINSERT(1)将值Value插入列表Key中,位于Pivot前面或者后面 (2) Pivot不存在于列表Key时,不执行任何操作 (3) Key不存在,不执行任何操作LINSERT key BEFORE |AFTER pivot value
LLEN(1)返回列表Key的长度 (2) Key不存在,返回0LLEN key
LTRIM(1)对一个列表进行修剪,让列表只返回指定区间内的元素,不存在指定区间内的都将被移除LTRIM key start stop
RPOP(1)移除并返回列表Key的尾元素RPOP key
RPOPLPUSH(在一个原子时间内,执行两个动作: (1)将列表Source中最后一个元素弹出并返回给客户端 (2)将Source弹出的元素插入到列表Desination,作为Destination列表的头元素RPOPLPUSH source destination
RPUSH(1)将一个或多个值Value插入到列表Key的表尾RPUSH key value [value ...]
RPUSHX(1)将Value插入到列表Key的表尾,当且仅当Key存在并且是一个列表 (2) Key不存在RPUSHX什么都不做RPUSHX key value

列表插入的值是可以重复的

lpush(左插入) rpush(右插入)

image-20240111190726174

lpop(左删) rpop(右删)

lindex lrange

lindex:取下标为多少的值 lrange:取下标区域范围内的值

image-20240111191941688

linsert

在什么前面或什么后面插入值

image-20240111192245769

五、其他常用命令列表

命令描述用法
SADD(1)将一个或多个member元素加入到key中,已存在在集合的member将被忽略 (2)假如key不存在,则只创建一个只包含member元素做成员的集合 (3)当key不是集合类型时,将返回一个错误SADD key number [member ...]
SCARD(1)返回key对应的集合中的元素数量SCARD key
SREM(1)移除集合key中的一个或多个member元素,不存在的member将被忽略SREM key member[member ...]
SMEMBERS(1)返回集合key中的所有成员 (2)不存在的key被视为空集SMEMBERS key
ZADD(1)将一个或多个member元素及其score值加入有序集key中 (2) 如果member已经是有序集的成员,那么更新member对应的score并重新插入member保证member在正确的位置上 (3) score可以是整数值或双精度浮点数ZADD key score member [[score member] [score member] ...]
ZCARD(1)返回有序集key的元素个数ZCARD key
ZCOUNT(1)返回有序集key中,score值>=min且<=max的成员的数量ZCOUNT keymin max
ZRANGE(1)返回有序集key中指定区间内的成员,成员位置按score从小到大排序 (2)具有相同score值的成员按字典序排列 (3) 需要成员按core从大到小排列,使用ZREVRANGE命令 (4)下标参数start和stop都以0为底,也可以用负数,-1表示最后一个成员,-2表示倒数第二个成员 (5)可通过WITHSCORES选项让成员和它的score值一并返回ZRANGE key start stop [WITHSCORES]
ZRANK(1)返回有序集key中成员member的排名,有序集合成员按score值从小到大排列 (2)排名以0为底,即score最小的成员排名为0 (3) ZREVRANK命令可将成员按score值从大到小排名ZRANK key number
ZREM(1)移除有序集key中的一个或多个成员,不存在的成员将被忽略 (2) 当key存在但不是有序集时,返回错误ZREM key member
SELECT(1)切换到指定数据库,数据库索引index用数字指定,以0作为起始索引值 (2) 默认使用0号数据库SELECT index
DBSIZE(1) 返回当前数据库的Key的数量DBSIZE
SHUTDOWN(1)停止所有客户端 (2) 如果至少有一个保存点在等待,执行SAVE命令 (3)如果AOF选项被打开,更新AOF文件 (4)关闭Redis服务器SHUTDOWN [SAVE | NOSAVE]
FLUSHDB(1) 清空当前数据库中的所有KeyFLUSHDB
FLUSHALL(1)清空整个 Redis 服务器的数据 (删除所有数据库的所有Key)FLUSHALL

集合插入的值是不能重复的

sadd(普通集合)

image-20240111194004796

zadd(有序集合)

image-20240111195202994

顺序只与score有关

zrange zrevrange

image-20240111195732974

注意:其中 zrevrange stringzset 1 4 表示从下标为 4 到 1 输出,而 zrange stringzset 1 4 就是从下标为 1 到 4 输出。其中 withscores 的意思就是输出值的同时价格scores一同输出

zrem

  • 15
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值