Redis之数据类型String、List、Hash、Set、Sorted Set(详细)

一、String数据类型

1、SET/GET/APPEND/STRLEN

(1) APPEND

(2) SET/STRLEN

2、 INCR/ DECR/INCRBY/DECRBY

(1)INCR/ DECR

(2) INCRBY/DECRBY

INCRBY key increment:key值增加指定的整数DECRBY key decrement:key值减少指定的整数

 3、GETSET

4、 SETEX

 5、SETNX

6、MSET/MGET/MSETNX

 二、List数据类型

1、LPUSH/LPUSHX/LRANGE

 2、LPOP/LLEN

3、  LREM/ LSET/LINDEX/LTRIM

4 、 LINSERT

5、 RPUSH/RPUSHX/RPOP/RPOPLPUSH

 三、Hash数据类型(散列类型)

1、 HSET/HGET/HDEL/HEXISTS/HLEN/HSETNX

2、HINCRBY

3、 HGETALL/ HKEYS/HVALS/ HMGET/ HMSET 

四、set数据类型(无序集合)

1、 SADD/SMEMBERS/SCARD/ SISMEMBER

2、 SPOP/SREM/SRANDMEMBER/SMOVE

 五、Sorted Set数 据类型(zset、 有序集合)

1、ZADD/ZCARD/ZCOUNT/ZREM/ZINCRBY/ZSCORE/ZRANGE/ZRANK

2、ZRANGEBYSCORE/ZREMRANGEBYRANK/ZREMRANGEBYSCORE

3、 ZREVRANGE/ ZREVRANGEBYSCORE/ ZREVRANK


一、String数据类型

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

1、SET/GET/APPEND/STRLEN

(1) APPEND

APPEND key value:追加键值,并返回追加后的长度(若键不存在,则相当于创建)

redis 127.0.0.1:6379> exists xyw             #判断该键是否存在,存在返回1,否则返回0。
(integer) 0
redis 127.0.0.1:6379> append xyw "hello"     #该键并不存在,因此append命令返回当前Value的长度。
(integer) 5
redis 127.0.0.1:6379> append xyw " world"    #该键已经存在,因此返回追加后Value的长度。
(integer) 11
redis 127 .0.0.1:6379> get xyw               #通过get命令获取该键,以判断append的结果。
"hello world"

(2) SET/STRLEN

SET key value [expiration EX seconds|PX milliseconds] [NX|XX]:设置键-值对
STRLEN key:统计指定key的字符长度

redis 127 .0.0.1:6379> set xyw "this is a test"    #通过set命令为键设置新值,并覆盖原有值。
OK
redis 127 .0.0.1:6379> get xyw
"this is a test"
redis 127 .0.0.1:6379> strlen xyw           #获取指定Key的字符长度。
(integer) 14

2、 INCR/ DECR/INCRBY/DECRBY

(1)INCR/ DECR

INCR key:key值递增加1(key值必须为整数)
DECR key:key值递增减1(key值必须为整数)

127.0.0.1:6379> set xyw 20	#设置Key的值为20
OK
127.0.0.1:6379> get xyw
"20"
127.0.0.1:6379> incr xyw	#该Key的值递增1
(integer) 21
127.0.0.1:6379> decr xyw	#该Key的值递减1
(integer) 20
127.0.0.1:6379> del xyw		#删除已有键。
(integer) 1
127.0.0.1:6379> get xyw
(nil)
127.0.0.1:6379> decr xyw	#对空值执行递减操作,其原值被设定为0,递减后的值为-1
(integer) -1
redis 127.0.0.1:6379> del xyw
(integer) 1
redis 127.0.0.1:6379> incr xyw    #对空值执行递增操作,其原值被设定为0,递增后的值为1
(integer) 1
127.0.0.1:6379> set xyw sweetsensetion	#将该键的Value设置为不能转换为整型的普通字符串。
OK
127.0.0.1:6379> get xyw
"sweetsensetion"
127.0.0.1:6379> incr xyw	 
(error) ERR value is not an integer or out of range
127.0.0.1:6379> decr xyw
(error) ERR value is not an integer or out of range

(2) INCRBY/DECRBY

INCRBY key increment:key值增加指定的整数
DECRBY key decrement:key值减少指定的整数

127.0.0.1:6379> set xyw 10
OK
127.0.0.1:6379> get xyw
"10"
127.0.0.1:6379> decrby xyw 5 	 #减少指定的整数
(integer) 5
127.0.0.1:6379> 
127.0.0.1:6379> incrby xyw 3	 #增加指定的整数
(integer) 8

 3、GETSET

GETSET key value:获取key值并返回,同时给key设置新值

127.0.0.1:6379> incr mycounter	#将计数器的值原子性的递增1
(integer) 1
127.0.0.1:6379> get mycounter
"1"
127.0.0.1:6379> getset mycounter "sweet sensetion"	#在获取计数器原有值的同时,并将其设置为新值,这两个操作原子性的同时完成。
"1"											#get的原键值
127.0.0.1:6379> get mycounter	#查看设置后的结果。
"sweet sensetion"

4、 SETEX

setex key seconds value:设置指定key的过期时间为seconds
#seconds:过期时间

redis 127.0.0.1:6379> setex mykey 10 "hello"		#设置指定Key的过期时间为10秒。
OK
redis 127.0.0.1:6379> ttl mykey 	#通过ttl命令查看一下指定Key的剩余存活时间(秒数),-2表示已经过期,-1表示永不过期。
(integer) 4							#表示还有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。
(nil)
127.0.0.1:6379> set mykey "hello"
OK
127.0.0.1:6379> ttl mykey
(integer) -1        #-1永不过期

 5、SETNX

SETNX key value:不存在键的话执行set操作,存在的话不执行
#若键不存在即会创建新键,若键已存在则不执行

redis 127.0.0.1:6379> del mykey		#删除该键,以便于下面的测试验证。
(integer) 1
redis 127.0.0.1:6379> setnx mykey "hello"	#该键并不存在,因此setnx命令执行成功。
(integer) 1
redis 127.0.0.1:6379> setnx mykey "world"	#该键己经存在,因此本次设置没有产生任何效果。
(integer) 0
redis 127.0.0.1:6379> get mykey		#从结果可以看出,返回的值仍为第一次设置的值。
"hello"

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 "worl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值