Code前端首页关于Code前端联系我们

民工兄Redis教程(三):常用管理命令

terry 2年前 (2023-09-26) 阅读数 217 #后端开发

给大家分享一些Redis开发过程中经常用到的命令,供大家参考!

redis set key

Redis SET 命令用于设置键的值。如果键已经存储了另一个值,SET 将覆盖旧值。

语法结构如下:
set keyname 值

返回值:如果设置成功,则返回OK。

实例:
set freekey free;

结果:民工哥死磕Redis教程(三):常用管理命令

redis get

Redis get 命令用于获取 key 中的值。如果键不存在,则返回null。

语法结构如下:
get keyname

返回值:返回键名对应的值。如果键不存在,则返回null。如果键中存储的值不是字符串类型,则返回错误。

实例:

get freekey

结果:民工哥死磕Redis教程(三):常用管理命令

redis -cli

在Redis服务上执行Redis命令。然后你需要一个Redis客户端来连接Redis服务器。 Redis客户端位于我们之前下载的Redis安装包中。

要启动Redis客户端,我们可以在DOS下进入Redis安装目录,然后通过运行Redis -cli启动客户端。此命令连接到本地 Redis 服务。如下图: 民工哥死磕Redis教程(三):常用管理命令

连接远程Redis服务器

启动另一个cmd,运行客户端连接Redis服务器,即服务端,进行测试。命令如下:

redis-cli.exe -h 127.0.0.1 -p 6379 -a 123456

其中127.0.01是Redis服务器地址,6379是端口,-123456是设置的密码。结果如下:民工哥死磕Redis教程(三):常用管理命令更多学习Redis的文章请参见上:NoSQL数据库系列-Redis。该系列持续更新。

Redis setnx

Redis setnx 命令也用于设置 key 的值,但与 Redis set 命令略有不同。仅当密钥不存在时才设置密钥。如果 key 已经存在,redis setnx 将不执行任何操作。

语法结构如下:
setnx keyname value

返回值:该命令设置成功则返回1,失败则返回0。

示例:
setnx  nxkey hello

setnx nxkey hello1

结果:民工哥死磕Redis教程(三):常用管理命令

redis setex

Redis setex 命令也用于设置 key 的值,但与 Redis set 命令略有不同。它还可以另外设置键值的生命周期。

语法结构如下
SETEX key seconds value

返回值:命令成功则返回OK。如果秒参数非法,该命令将返回错误。如果键已经存在,则旧值将被覆盖。

示例
SETEX setexkey 100 hello 
--指的是设定setexkey键的生存周期为100秒。
ttl setexkey 
--查看setexkey键的剩余时间。

结果:民工哥死磕Redis教程(三):常用管理命令

redis psetex

redis psetex 命令:用于设置 Redis 的键值,并带有值的生存时间。与 setex 命令不同,它设置值的生存时间。毫秒。

语法结构如下:
PSETEX key seconds value

返回值:命令成功则返回OK。如果秒参数非法,该命令将返回错误。如果键已经存在,则旧值将被覆盖。

实例:
PSETEX psetexkey 5000 free
--指的是设定setexkey键的生存周期为1000毫秒。
pttl psetexkey 
--查看psetexkey键的剩余时间。

结果:民工哥死磕Redis教程(三):常用管理命令

redis getset

redis getset 命令:用于向 Redis 设置新键值并返回旧键值。如果key值之前不存在,则报错。

语法结构如下:
getset key value

返回值:该命令仅在键值存在后返回旧键值,然后为键设置新值。如果该键之前不存在,则立即报告错误并返回 null。

示例:
 --给key设置值
 set getsetkey "free"
 --给key设置新值
 getset getsetkey "free1"
 --获取key值
 get getsetkey

结果:民工哥死磕Redis教程(三):常用管理命令

redis 追加

Redis 追加命令用于追加到 Redis 字符串。如果键值已存在,则提供的值将附加到键值的末尾。价值。

语法结构:
append key value

返回值:如果key存在并且是字符串,则append命令将value的值追加到原key值的末尾,并返回现有的字符串长度。

如果键不存在,则立即分配键值,与设置键命令相同。

示例:
--给key设值
set mykey "free"
--在key值后面追加字符
append mykey " redis "
--获取key值
get mykey

结果:民工哥死磕Redis教程(三):常用管理命令

redis mset

Redis mset命令用于为Redis键(key)赋值。与Redis Set不同的是,它可以同时给多个key赋值。

语法结构:
mset key1 value1 key2 value2 ...

返回值:始终返回OK。与Redis set命令一样,如果键值存在,则其值将被覆盖。

示例:
--给key设值
mset mykey1 "free" mykey2 "free redis "
--获取键值
get mykey1 
get mykey2

结果:民工哥死磕Redis教程(三):常用管理命令

redis mget

Redis mget命令用于批量获取多个给定key的值。它是Redis mset命令的逆过程。

语法结构:
redis mget key1 key2...

返回值:返回一个或多个给定键的值。如果给定的键不存在,则该键的返回值为 null。

示例:
--给key设值
mset mykey1 "free" mykey2 "free redis "
--获取键值
mget mykey1 mykey2

结果:民工哥死磕Redis教程(三):常用管理命令更多学习Redis的文章请参见上:NoSQL 数据库系列中的 Redis。该系列持续更新。

redis incr

redis incr命令用于对数值类型的键值加1,然后返回加1后的值。如果键值存在且为数字类型,则加1并返回。

  • 如果键值不存在,则视为0,返回1。
  • 如果键值不是数字类型,则返回错误。
  • 示例:
    --给key设值
    set key 2
    --给key加1
    incr key
    --获取key的值
     get key
     --对不是数值的执行incr结果
     set key "free"
     incr key
    

    结果:民工哥死磕Redis教程(三):常用管理命令

    redis decr

    Redis decr命令用于将数值类型的键值减1(即结果减1),然后返回。

    语法结构:
    decr key
    

    返回值:

    • 如果键值存在且为数字类型,则将其减1,然后返回结果值。
    • 如果键值不存在,则视为0,返回-1。
    • 如果键值不是数字类型,则返回错误。
    示例:
    --给key设值
    set key 2
    --给key进行递减1
    decr key
    --获取key的值
    get key
    --对不是数值的执行decr结果
    set key "free"
    decr key
    

    结果:民工哥死磕Redis教程(三):常用管理命令

    redis lindex key index

    redis lindex key index命令主要用于获取链表类型中指定订阅的数据。

    语法结构:

    lindex key index
    #返回链表类型key中下标为index的数据。index表示链表的下标,0表示链表头第一个元素,-1表示链表尾最后一个元素。
    

    返回值:指定链表索引的元素。如果索引指定的下标大于链表长度,则报告下标越界。

    示例:
    --给链表插入数据
    rpush mylist10 "hello" "free" "redis" "hello" 
    --获取链表数据
    lindex mylist10 0
    lindex mylist10 1
    lindex mylist10 -1
    

    结果:民工哥死磕Redis教程(三):常用管理命令

    redis ltrim

    Redis ltrim 命令主要用于区分 Redis 链表类型指定订阅范围内的元素。不在指定范围内的项目将被删除。

    语法结构:
    ltrim key start end
    
    key:#指定要截取的链表键。
    start/end:#指定要截取的区间,start是开始,end是结尾。如ltrim key 0,1表示保留前两个元素,其它元素都删除掉。
    

    start(end)代表链表的所有下标。链表下标从0开始,代表链表的头,即第一个元素。 -1表示链表结束,即最后一个元素。

    返回值:命令执行成功则返回OK。如果key不是链表类型,则返回错误。订阅间隔不能超过链表长度,会报订阅越界错误。

    示例:
    --给链表插入数据
    rpush mylist "hello" "free" "redis" "ok"
    
    --截取中间两个元素
    ltrim mylist 1 2 
    
    --查看截取后的链表元素
    lrange mylist 0 -1
    

    结果:民工哥死磕Redis教程(三):常用管理命令

    redis hget

    Redis hget命令主要用于获取Redish哈希表中字段(field)的值。

    语法结构:
    hget key field
    获取哈希表key中域(field)的值。
    

    返回值:通常返回给定字段的值。如果指定的字段不存在,则返回空错误。

    示例:
    --创建一个哈希表
    hset  myhash field1 "free"
    --获取指定域的值
    hget myhash field1
    

    结果:民工哥死磕Redis教程(三):常用管理命令

    redis hdel

    Redis hdel 命令用于删除哈希表中指定的字段(字段)。只能批量删除多个字段。不存在的字段将被删除。忽略

    语法结构:
    hdel hash field field1 ....
    
    hash #指定哈希表的键,field是哈希表的域。
    

    返回值:返回成功删除域名的数量。不存在的域不计算在内。

    示例:
    --创建一个哈希表
    hset  myhash field1 "free"
    hset myhash field2 "redis"
    --判断指定的域是否存在
    hdel myhash field1 field2 field3
    

    结果:民工哥死磕Redis教程(三):常用管理命令 摘自:https://www.wenjians.com/doc/q3km1de9s1t7

    版权声明

    本文仅代表作者观点,不代表Code前端网立场。
    本文系作者Code前端网发表,如需转载,请注明页面地址。

    发表评论:

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    热门