Redis五大类型基本命令

2021-09-10  本文已影响0人  Laity_9c91

String(字符串)

#查看当前key类型
type key

#往key中追加字符。当key不存在,相当于key
append key 追加字符串

#获取key字符串的长度
strlen key

#key值加一
incr key

#设置key的步长,增加增量
incrby key 数量

#key值减一
decr key

#设置key的步长,减少增量
decrby key 数量

#获取key值的范围(相当于截取字符串)
getrange key 范围  
getrange key 0 -1 常看所有key的字符串

#替换指定key开始的位置
setrang key 1 要替换的位数

#设置过期时间 (set with expire) 
setex key 时间 value
setex north 30 "likexpp" #30秒后过期

#key不存在设置(set if not exist) 如果key存在,创建失败
setnx key value

#设置多个key
mset key value [key value ....]

#获取多个key
mget key [key ....]

#要么都成功,要么都失败 
msetnx key1 value1 key2 value2

#对象
set user:1 {name:likexpp,age:3} #设置一个user:1 对象值为json字符来报错一个对象
mset user:1:name likexpp user:1:age 18 #设置
mget user:1:name user:1:age #获取

#如果不存在值,则返回nil.如果存在值,获取原来的值,并设置新的值
getset key value

List ( 列表 )

# 将一个值或多个值插入到列表的头部(左)
lpush liestkey value

#将一个值或多个值插入到列表的尾部(右)
rpush listkey value

#获取listkey中的所有值
lrange listkey 0 -1

#获取listkey中区间的值
lrang listkey 0 1

#移除listkey的第一元素
lpop listkey

#移除listkey的最后一个元素
rpop listkey

#通过下标获取listkey中的某一个值
lindex listkey 下标(index)

# 获取listkey的长度
llen listkey

#移除lietkey中指定个数具体的值
lrem listkey 移除个数 value


#通过下标截取listkey中指定的长度,截断了只剩下截取的元素
ltrim listkey 1 2

#移除列表中的最后一个元素,将他移动到新的列表中
rpoplpush listkey otherlistkey

#将列中指定下标的值替换为另外一个值,更新操作
lset listkey index(下标) value
    exists listkey   #判断这个列表是否存在
    lset list 0 item  #如果不存在列表,则会报错
    lset list 0 lttlenorth   #如果存在,更新当前下标的值

#将某个具体的value插入列表,把value插入列表某个元素的前面或者后面
linsert listkey (before|after) value othervalue
  # linsert north before lvxpp likexpp

Set(集合)

set集合中的值是不能重复的。set 无序不重复集合

#set集合中添加元素
sadd setkey value

#查看set集合中所有的值
smembers setkey

#查看set集合中指定的key是否存在
smembers setkey value

#获取set集合中的元素个数
scard setkey

#移除set集合中的指定元素
srem setkey value

#随机抽选一个元素
srandmember setkey

#随机抽选出指定个数的元素
srandmember setkey numbers
  #srandmember littlenorth 2
 
#随机删除set集合中的元素
spop setkey

#将一个指定的值,移动到另一个set集合中
smove setkey1 setkey2 lvxpp

#set集合中的差集
sdiff setky1 setkey2

#set集合中的交集
sinter setky1 setkey2

#set集合中的并集
sunion setky1 setkye2

Hash(哈希)

当作Map集合,key-Map,这个时候值就是一个map。本质和Strtin类型没有太大区别,只是值为一个简单的key-value

#set一个具体的key-value
hset hashkey key value

#获取一个字段值
hget hashkey key

#set多个key-value
hmest hashkey key1 value1 key2 value2 [key..,value...]

#获取多个字段值
hmget hashkey key1 key2 [key...]

#获取全部数据
hgetall hashkey

#删除hash指定key字段,对应的value值也就消失了
hdel hashkey key

#获取hash的字段数量
hlen hashkey

#判断hash中指定字段是否存在
hexists hashkey

#只获取所有的hashkey
hkeys hashkey

#只获得所有的值
hvals hashkey

#指定增量
hincrby hashkey key value

#指定减量
hdecrvby hashkey key value

#如果hashkey中key存在,则不能设置。如果不存在,则可以设置
hsetnx hashekey key value

Zset(有序集合)

#添加值
zadd zsetKey 排序的标识 value 
    #zadd north 1 lvxpp1

#查看所有值
zrange zsetKey 0 -1

#显示所有数据,从小到大
zrangebyscore zsetKey -inf +inf

#从大到小进行排序
zrevrange zsetKey 0 -1

#显示所有数据并附带按排序排序规则排序的数据
zrangebyscore zsetkey -inf +inf withscores

#显示素有数据小于2500的升序排序
zrangebyscore zsetkey -inf 2500 withscores

#移除zset中的集合的指定元素
zrem zset key

#获取有序集合中的个数
zcard zset

#获取指定区间的成员数量
zcount zsetkey 1 3
上一篇下一篇

猜你喜欢

热点阅读