redis五大数据类型的基本命令

Redis-key,redis大小写不敏感,如遇到不会的命令去查看官方帮助文档

#查看所有的key
keys *
#存值
set name value
#获取值
get name
#查看key是否存在
exists name
#移除key,1指在哪个redis库中,默认有16个库
move name 1
#设置key过期时间,后面的时间为秒,注意先有值再设置时间
expire name 10
#查询key值剩余过期时间
ttl name
#查看key的类型
type name

String(字符串类型)

#设置值
set key value
#获取值
get key
#获取所有的key
keys *
#判断一个值是否存在
exists key
#追加字符串,如果不存在相当于设置值
append key hello
#获取字符串的长度
strlen key
=================================================================
#自增1,即步长为1
incr testnum
#自减,步长为-1
decr testnum
#可以设置步长,指定步长量
incrby testnum 5
#按指定步长减少
decrby testnum 4
==================================================================
#截取字符串,闭区间
getrange key 0 3
#获取所有的范围,和get keys是一样的效果
getrange key 0 -1
#替换值
set key newvalue
#替换指定位置开始的值
setrange key 2 66666
====================================================================
#设置值和时间setex (set 和 expire),秒
setex key  30 value
#不存在设置,在分布式锁中会使用,存在会创建失败setnx(set if not exists)
setnx key value
====================================================================
#同时设置多个值
mset k1 v1 k2 v2 k3 v3
#同时获取多个值
mget k1 k2 k3
#msetnx 是一个原子性操作,要么一次成功,要么一次失败
msetnx k1 v1 k2 v2
#对象,设置一个user:1对象 值为json字符来保存一个对象!
set user:1 {name:zhangsan,age:5}
# 这里的key是一个巧妙的设计: user:{id}:{filed} , 如此设计在Redis中是完全OK了!
mset user:1:name zhangsan user:1:age 2
#getset如果存在值,获取原来的值设置并且新的值
getset key value

list(列表)
在redis里面,我们可以把list玩成 ,栈、队列、阻塞队列!

所有的list命令都是用l开头的,Redis不区分大小命令

#将一个值或者多个值,插入到列表头部(左)
lpush list one
#获取list的值
lrange list 0 -1
#取出区间值(闭区间)
lrange list 0 2
#从右边插入一个或者多个值
rpush list value
#移除元素(左边)
lpop list
#移除元素(右边)
rpop list
#通过index下标获取值,从0开始
lindex list 1
#返回列表的长度
llen list
#移除list集合中指定个数的value
lrem list 1 value
==================================================================
#通过下标截取指定的长度,这个list已经被改变,截断了只剩下的截取的元素
ltrim mylist 1 2
#移除列表的最后一个元素到新的列表中
rpoplpush list1 list2
=================================================================
#判断这个列表是否存在
exists list
#更新一个列表指定下标的值,如果这个列表不曾存在就报错
lset list  0 chagevalue
#将某个值插入到元素的前面或者后面
linsert list before value
#插入后面
linsert list after value
#删除list,1为在哪个数据库中
move list 1

Set(集合)

#set集合中添加元素,一个或者多个
sadd mset hello
#查看set的值
smembers myset
#判断一个值是否存在set中
sismember myset value
#获取set集合中内容元素的个数
scard myset
#移除set中的指定元素,一个或者多个
srem myset value
# 随机抽选出一个元素
srandmember myset
#随机抽取出指定个数的元素
srandmember myset 2
#随机删除一些集合中的元素
spop myset
#将一个指定的值移到另外一个set中
smove list list2 v1
===============================================================
#差集,前一个在后一个不存在的
sdiff myset1 myset2
#交集
sinter myset1 myset2 共同好友
#并集
sunion myset1 myset2

Hash(哈希)
Map集合,key-map! 时候这个值是一个map集合! 本质和String类型没有太大区别,还是一个简单的 key-vlaue!

#设置一个具体的值
hset myhash key value
#获取一个具体的值
hget myhash key
#设置多个值
hmset myhash key1 v1 k2 v2
#获取多个值
hmget myhash k1 k2
#获取全部的数据
hgetall myhash
#删除指定的key
hdel myhash k1 
#获取hash值的shuliang
hlen myhash
#判断hash中是否存在值
hexists myhash key
#获得hash的所有key值
hkeys myhash
#获得hash的所有value值
hvals myhash
#增量
hincrby myhash v2 1
#减量
hincrby myhash v2 -1
#如果不存在则可以设置
hsetnx myhash k1 v1

Zset(有序集合)

#添加一个值或者多个值
zdd myset 1 one 
#查询数据
zrange myset 0 -1
#显示所有数据从小到大
zrangebyscore myset -inf + inf
#从大到小排序
zrevrange myset 0 -1
#显示排序和值
zrangebyscore myset -inf  +inf withscores
#显示小于什么范围的值
zrangebyscores myset -inf 2 withscores
#移除Zset中的元素
zrem myset value
#获取集合中的个数
zcard mySet
#获取指定区间的成员数量
zcount myset 1 3

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@我不是大鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值