0
点赞
收藏
分享

微信扫一扫

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


Redis五大数据类型之String操作命令

  • ​​1、先查看是否有活动的redis进程​​
  • ​​2、启动redis客户端:​​
  • ​​3、查看数据库所有数据​​
  • ​​4、`SET key value [EX seconds] [PX milliseconds] [NX|XX]`​​
  • ​​5、`GET key`​​
  • ​​6、`del key`​​
  • ​​7、`APPEND key value`​​
  • ​​8、INCR key​​
  • ​​9、`decrby key decrement`​​
  • ​​10、`GETRANGE key start end`​​
  • ​​11、`SETRANGE key offset value`​​
  • ​​12、`SETEX key seconds value`​​
  • ​​13、`SETNX key value`​​
  • ​​14、`MSET key value [key value …]`​​
  • ​​15、`MGET key [key …]`​​
  • ​​16、`GETSET key value`​​

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

ps -ef |grep redis

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

2、启动redis客户端:

redis-cli

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

3、查看数据库所有数据

keys *

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


这个数据库的值太多,我们去第2个(下标为1)数据库

select 1

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


设置几个值

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

将字符串值 value 关联到 key 。

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

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

set k1 v1
set k2 v2

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

查看刚设置的值

5、GET key

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

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

get k1

get k2

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


查看当前库中所有的key

keys *

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


删除 k1

6、del key

del k1

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


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


追加值

7、APPEND key value

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

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

append k2 123

查看追加之后的值

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


新加k1

set k1 1

8、INCR key

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

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

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

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

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

incr k1

get k1

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


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


​INCRBY key increment​​在加上增量 increment 之后, 键 key 当前的值。

incrby k1 2

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

9、decrby key decrement

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

decrby k1 1

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

10、GETRANGE key start end

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

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

getrange k2 0 2

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

getrange k2 0 -1

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

11、SETRANGE key offset value

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

setrange k2 2 hello

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

12、SETEX key seconds value

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

先新加个k3

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

setex k1 20 1111

再查看生存时间

ttl k3

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

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

13、SETNX key value

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

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

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

设置个不存在的

setnx k1 1111

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


设置个存在的,可以看到。失败了

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

14、MSET key value [key value …]

为多个键设置值。

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

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

mset k4 aaa k5 666 k6 fff

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

15、MGET key [key …]

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

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

mget k4 k5 k6

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

16、GETSET key value

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

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


举报

相关推荐

0 条评论