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

2023-06-0716:39:26数据库教程Comments1,355 views字数 4034阅读模式

给大家提供 redis 开发过程当中经常会用到的一些命令,供大家参考!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis set key

Redis SET 命令用于给键(key)设置值的。如果 key 已经存储其他值,SET 就覆写旧值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

语法结构如下:
set keyname 值

返回值:设置成功时,返回OK。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

实例:
set freekey free;

结果:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis get

Redis get命令用于获取键(key)中的值的。如果key不存在,返回 nil。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

语法结构如下:
get keyname

返回值:返回keyname对应的值,如果key不存在,则返回nil。假如key中存的值不是字符串类型那么返回错误。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

实例:

get freekey

结果:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis -cli

Redis 命令是在redis 服务上执行的。那么要连接redis服务器需要一个redis客户端。Redis 客户端在我们之前下载的的 redis的安装包中。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

我们要启动redis客户端,可以在DOS进入redis安装目录,然后通过执行redis -cli来启动客户端,该命令会连接本地的 redis 服务。如下图:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

连接远程redis服务器

另起一个cmd,执行客户端连接到redis服务器,即服务端,进行测试,命令如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

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

其中127.0.01是redis的服务器地址,6379是端口,-a 123456是设置的密码。结果如下:民工哥死磕Redis教程(三):常用管理命令更多关于 Redis 学习的文章,请参阅:NoSQL 数据库系列之 Redis ,本系列持续更新中。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

Redis setnx

Redis setnx命令也是用于设置key的值,但是它和redis set命令有点不一样。只在key不存在的情况下, 给key设置,假如key已经存在,那么 redis setnx将啥都不做。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

语法结构如下:
setnx keyname value

返回值:命令设置成功返回1,失败返回0。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

实例:
setnx  nxkey hello

setnx nxkey hello1

结果:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis setex

redis setex命令也是用于设置key的值,但是它和redis set命令有点不一样,它可以额外设置key值的生存周期。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

语法结构如下
SETEX key seconds value

返回值:命令成功时返回 OK 。当 seconds 参数不合法时, 命令将返回一个错误。如果key已经存在那么覆盖旧值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

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

结果:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis psetex

redis psetex命令:用于给redis设置key的值,并且附带上值的生存时间,不同于setex命令,它设置值的生存时间为毫秒。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

语法结构如下:
PSETEX key seconds value

返回值:命令成功时返回 OK 。当 seconds 参数不合法时, 命令将返回一个错误。如果key已经存在那么覆盖旧值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

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

结果:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis getset

redis getset命令:用于给redis设置key的新值,返回之前旧的key值。如果key值之前不存在,那会报错。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

语法结构如下:
getset key value

返回值:命令只有在 key 值存在过了,才会返回之前旧的 key 值,然后给 key 设置上新值。假如,key 之前不存在,那么直接报错返回 nil。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

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

结果:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis append

redis append 命令是用于对redis字符串进行追加,当键值已经存在的情况下,在键值的末尾追加上提供的value值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

语法结构:
append key value

返回值:如果key存在并且是一个字符串,append命令会把value的值追加到原来的键值末尾,并返回现有的字符串长度。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

如果key不存在,那么他就直接对key值进行赋值,和set key命令一样。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

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

结果:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis mset

redis mset命令用于给redis的键(key)赋值命令。不同于redis set,它可以一次给多个键同时进行赋值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

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

返回值:总是返回OK。和redis set命令一样,当key值存在时,对其值进行覆盖。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

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

结果:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis mget

redis mget命令用于批量获取给定的多个键(key)的值,它是redis mset命令的逆过程。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

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

返回值:返回给定的一个或者多个键(key)的值。如果给定的键不存在,那么这个键返回的值将是nil。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

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

结果:民工哥死磕Redis教程(三):常用管理命令更多关于 Redis 学习的文章,请参阅:NoSQL 数据库系列之 Redis ,本系列持续更新中。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis incr

redis incr命令用于对数值类型的键(key)值进行加1操作,然后返回加1之后的数值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

语法结构:
redis incr key

返回值:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

  • 如果key值存在,并为数值类型,那么对其加1进行返回。
  • 如果key值不存在,那么当做0处理,返回1。
  • 如果key值不是数值类型,那么会返回错误。
实例:
--给key设值
set key 2
--给key加1
incr key
--获取key的值
 get key
 --对不是数值的执行incr结果
 set key "free"
 incr key

结果:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis decr

redis decr命令用于对数值类型的键(key)值进行递减操作(即减1操作),然后返回递减之后的结果值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

语法结构:
decr key

返回值:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

  • 如果key值存在,并为数值类型,那么对其递减1,然后返回结果值。
  • 如果key值不存在,那么当做0处理,返回-1。
  • 如果key值不是数值类型,那么会返回错误。
实例:
--给key设值
set key 2
--给key进行递减1
decr key
--获取key的值
get key
--对不是数值的执行decr结果
set key "free"
decr key

结果:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis lindex key index

redis lindex key index命令主要用于获取链表类型中指定下标的数据。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

语法结构:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

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

返回值:指定链表下标index的元素。如果index指定的下标大于链表的长度,就会报下标越界。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

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

结果:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis ltrim

redis ltrim命令主要用于截取redis链表类型的指定下标区间内的元素,不在指定区间内的元素都会被删除。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

语法结构:
ltrim key start end

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

start(end)都是表示链表的下标,链表下标是从0开始表示链表头,第一个元素。-1表示链表尾,最后一个元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

返回值:命令执行成功返回OK,当key不是链表类型时,返回错误。下标区间不能超过链表的长度,会报下标越界错误。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

实例:
--给链表插入数据
rpush mylist "hello" "free" "redis" "ok"

--截取中间两个元素
ltrim mylist 1 2 

--查看截取后的链表元素
lrange mylist 0 -1

结果:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis hget

redis hget命令主要用获取redis哈希表中域(field)的值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

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

返回值:正常返回给定域的值,如果给定的域不存在,那么返回nil错误。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

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

结果:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

redis hdel

redis hdel命令用于删除哈希表中指定的域(field),只可以批量移除多个域,不存在的域会被忽略。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

语法结构:
hdel hash field field1 ....

hash #指定哈希表的键,field是哈希表的域。

返回值:返回被成功移除域的数量,不存在的域不计算在内。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

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

结果:民工哥死磕Redis教程(三):常用管理命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html

节选自:https://www.wenjiangs.com/doc/
q3km1de9s1t7
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/45517.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/sjk/45517.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定