Redis五大数据类型之String(字符串)命令

举报
别团等shy哥发育 发表于 2023/02/04 16:50:47 2023/02/04
【摘要】 @toc 1、先查看是否有活动的redis进程ps -ef |grep redis 2、启动redis客户端:redis-cli默认是进入第1个(下标为0)redis数据库 3、查看数据库所有数据keys *这个数据库的值太多,我们去第2个(下标为1)数据库select 1设置几个值 4、SET key value [EX seconds] [PX milliseconds] [NX|XX]...

@toc

1、先查看是否有活动的redis进程

ps -ef |grep redis

在这里插入图片描述

2、启动redis客户端:

redis-cli

默认是进入第1个(下标为0)redis数据库

3、查看数据库所有数据

keys *

在这里插入图片描述
这个数据库的值太多,我们去第2个(下标为1)数据库

select 1

在这里插入图片描述
设置几个值

4、SET key value [EX seconds] [PX milliseconds] [NX|XX]

将字符串值 value 关联到 key 。

如果 key 已经持有其他值, SET 就覆写旧值, 无视类型。

当 SET 命令对一个带有生存时间(TTL)的键进行设置之后, 该键原有的 TTL 将被清除。

set k1 v1
set k2 v2

在这里插入图片描述

查看刚设置的值

5、GET key

如果键 key 不存在, 那么返回特殊值 nil ; 否则, 返回键 key 的值。

如果键 key 的值并非字符串类型, 那么返回一个错误, 因为 GET 命令只能用于字符串值。

get k1
get k2

在这里插入图片描述
查看当前库中所有的key

keys *

在这里插入图片描述
删除 k1

6、del key

del k1

在这里插入图片描述
在这里插入图片描述
追加值

7、APPEND key value

如果键 key 已经存在并且它的值是一个字符串, APPEND 命令将把 value 追加到键 key 现有值的末尾。

如果 key 不存在, APPEND 就简单地将键 key 的值设为 value , 就像执行 SET key value 一样。

append k2 123

查看追加之后的值
在这里插入图片描述
新加k1

set k1 1

8、INCR key

为键 key 储存的数字值加上一。

如果键 key 不存在, 那么它的值会先被初始化为 0 , 然后再执行 INCR 命令。

如果键 key 储存的值不能被解释为数字, 那么 INCR 命令将返回一个错误。

本操作的值限制在 64 位(bit)有符号数字表示之内。

INCR 命令会返回键 key 在执行加一操作之后的值。
将k1+1

incr k1
get k1

在这里插入图片描述
在这里插入图片描述
INCRBY key increment在加上增量 increment 之后, 键 key 当前的值。

incrby k1 2

在这里插入图片描述

9、decrby key decrement

DECRBY 命令会返回键在执行减法操作之后的值

decrby k1 1

在这里插入图片描述

10、GETRANGE key start end

GETRANGE 命令会返回字符串值的指定部分

在这里插入图片描述

getrange k2 0 2

在这里插入图片描述

getrange k2 0 -1

在这里插入图片描述

11、SETRANGE key offset value

SETRANGE 命令会返回被修改之后, 字符串值的长度

setrange k2 2 hello

在这里插入图片描述

12、SETEX key seconds value

将键 key 的值设置为 value , 并将键 key 的生存时间设置为 seconds 秒钟。

先新加个k3
在这里插入图片描述

setex k1 20 1111

再查看生存时间

ttl k3

在这里插入图片描述

可以看到,生存时间到了之后,这个键就会被清除。

13、SETNX key value

只在键 key 不存在的情况下, 将键 key 的值设置为 value 。

若键 key 已经存在, 则 SETNX 命令不做任何动作。

SETNX 是『SET if Not eXists』(如果不存在,则 SET)的简写

设置个不存在的

setnx k1 1111

在这里插入图片描述
设置个存在的,可以看到。失败了
在这里插入图片描述

14、MSET key value [key value …]

为多个键设置值。

如果某个给定键已经存在, 那么 MSET 将使用新值去覆盖旧值, 如果这不是你所希望的效果, 请考虑使用 MSETNX 命令,
这个命令只会在所有给定键都不存在的情况下进行设置。

MSET 是一个原子性(atomic)操作, 所有给定键都会在同一时间内被设置, 不会出现某些键被设置了但是另一些键没有被设置的情况。

mset k4 aaa k5 666 k6 fff

在这里插入图片描述

15、MGET key [key …]

返回给定的一个或多个字符串键的值。

如果给定的字符串键里面, 有某个键不存在, 那么这个键的值将以特殊值 nil 表示。

mget k4 k5 k6

在这里插入图片描述

16、GETSET key value

将键 key 的值设为 value , 并返回键 key 在被设置之前的旧值。

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。