redis 五种数据类型查询命令

本文详细介绍了Redis中的五种数据类型:String、List、Hash、Set和Sorted Set,并分别列举了各种类型的主要查询命令,包括String的SET/GET等,List的LPUSH/LPOP等,Hash的HSET/HGET等,Set的SADD/SMEMBERS等,以及Sorted Set的ZADD/ZRANGE等,旨在帮助读者理解并掌握Redis的数据操作。
摘要由CSDN通过智能技术生成

一、String数据类型

概述:String是 redis 最基本的类型,最大能存储 512MB 的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等

1、SET/GET/APPEND/STRLEN 命令
PS:APPEND
APPEND key value追加键值,并返回追加后的长度(若键不存在,则相当于创建)

exists home             
#判断该键是否存在,存在返回1,否则返回0

append home "cat"     
#该键并不存在,因此append命令返回当前Value的长度

append home "dog"    
#该键已经存在,因此返回追加后Value的长度

get home               
#通过get命令获取该键,以判断append的结果

127.0.0.1:6379> keys *  查询当前库有哪些键
(empty list or set)
127.0.0.1:6379> set xg hello  创建xg键 并赋值hello
OK
127.0.0.1:6379> get xg 查看xg键
"hello"
127.0.0.1:6379> exists xg  判断是否有xg键,有就返回1
(integer) 1
127.0.0.1:6379> exists wxg  判断是否有wxg键,没有就返回0
(integer) 0
127.0.0.1:6379> append wxg "hi"    wxg键不存在,因此append命令返回当前Value的长度。
(integer) 2
127.0.0.1:6379> append xg " hi" xg键存在,因此append命令返回追加后Value的长度
(integer) 8
127.0.0.1:6379> get xg 
"hello hi"
127.0.0.1:6379> strlen xg  指定xg键的字符长度
(integer) 8

127.0.0.1:6379> get xg
"hello hi"
127.0.0.1:6379> set xg dada  给xg键重新赋值,覆盖原值
OK
127.0.0.1:6379> get xg
"dada"

在这里插入图片描述
在这里插入图片描述

2、INCR/DECR/INCRBY/DECRBY命令
INCR key:key值递增加1(key值必须为整数)
DECR key:key值递减1(key值必须为整数) 
127.0.0.1:6379> set info 10  设info键值为10
OK
127.0.0.1:6379> incr info 键值递增1
(integer) 11
127.0.0.1:6379> decr info 键值递减1
(integer) 10
127.0.0.1:6379> del info 删除键 返回1 删除成功
(integer) 1
127.0.0.1:6379> incr info   #对空值执行递增操作,其原值被设定为0,递增后的值为1
(integer) 1
127.0.0.1:6379> del info
(integer) 1
127.0.0.1:6379> decr info  #对空值执行递减操作,其原值被设定为0,递减后的值为-1
(integer) -1
127.0.0.1:6379> del info
(integer) 1
127.0.0.1:6379> set info hi  #将该键的Value设置为不能转换为整型的普通字符串。
OK
127.0.0.1:6379> incr info  #incr不能对字符型进行操作,会报错
(error) ERR value is not an integer or out of range
127.0.0.1:6379> set info 20
OK
127.0.0.1:6379> decrby info 5   #减少指定的整数
(integer) 15
127.0.0.1:6379> incrby info 10   #增加指定的整数
(integer) 25

在这里插入图片描述

3、 GETSET命令
GETSET key value:获取key值并返回,同时给key设置新值
127.0.0.1:6379> incr test  没有的键 值递增1
(integer) 1
127.0.0.1:6379> getset test 0  在获取计数器原有值的同时,并将其设置为新值,这两个操作原子性的方式同时完成。
"1"
127.0.0.1:6379> get test  #查看设置后的结果。
"0"

在这里插入图片描述

4.SETEX命令
setex key seconds value:设置指定key的过期时间为seconds
作用场景
redis 127.0.0.1:6379> setex mykey 15 "hello"      #设置指定Key的过期时间为15秒。
redis 127.0.0.1:6379> ttl mykey                   #通过tt1命令查看指定Key的剩余存活时间(秒数),0表示已经过期,-1表示永不过期。
(integer) 4
redis 127.0.0.1:6379> get mykey          #在该键的存活期内我们仍然可以获取到它的Value。
"hello"
redis 127.0.0.1:6379> ttl mykey          #该ttl命令的返回值显示,该Key已经过期。
(integer) -2
redis 127.0.0.1:6379> get mykey          #获取已过期的Key将返回nil

在这里插入图片描述
redis -1 往往代表的是一个上限,表示所有的意思
-2 表示的失效/过期

5.SETNX命令
SETNX key value:不存在键的话执行set操作,存在的话不执行
redis 127 .0.0.1:6379> del gg              #删除该键,以便于下面的测试验证。
(integer) 1
redis 127.0.0.1:6379> setnx gg "ni"     #该键并不存在,因此setnx命令执行成功。
(integer) 1
redis 127.0.0.1:6379> setnx gg "da"   #该键已经存在,因此本次设置没有产生任何效果。
(integer) 0
redis 127 .0.0.1:6379> get mykey      #从结果可以看出,返回的值仍为第一次设置的值。
"ni"

在这里插入图片描述

6.MSET/MGET/MSETNX命令
MSET key value [key value …]:批量设置键-值对
MGET key [key …]:批量获取键值对
MSETNX key value [key value …]:批量设置键-值对,都不存在就执行并返回1;只要有一个存在就不执行并返回0
redis 127.0.0.1:6379> mset key1 "hello" key2 "world"    #批量设置了key1和key2两个键。
redis 127.0.0.1:6379> mget key1 key2                    #批量获取了key1和key2两个键的值。
1) "hello"
2) "world"
redis 127.0.0.1:6379> msetnx key3 "zhang" key4 "san"    #批量设置了key3和key4两个键,因为之前他们并不存在,所以msetnx命令执行成功并返回1。
(integer) 1
redis 127.0.0.1:6379> mget key3 key4
1) "zhang"
2) "san"
redis 127.0.0.1:6379> msetnx key3 "hello" key5 "world"   #批量设置了key3和key5两个键&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值