Redis的数据类型


redis一共分为五种基本数据类型:String、Hash、List、Set、ZSet

清空数据库
flush

String类型

String类型是包含很多种类型的特殊类型,并且是二进制安全的。比如序列化的对象进行存储,比如一张图片进行二进制存储,比如一个简单的字符串,数值等等。

  1. set和get方法
    设置值:set name bhz 取值 get name (说明设置name多次会覆盖)
    删除值:del name
    在这里插入图片描述
  2. 使用setnx(not exit)name如果不存在进行设置,存在就不需要进行设置了,返回0
    在这里插入图片描述
  3. 使用setex(expired)setex color 10 red 设置color的有效期为10秒,10秒后返回nil(在redis里nil表示空)
    在这里插入图片描述
  4. 使用setrange替换字符串:
set email 1746315@qq.com
setrange email 10 ww (10表示从第几位开始替换,后面跟上替换的字符串)

在这里插入图片描述

  1. 使用一次性设置多个和获取多个值的mset、mget方法
    mset key1 bhz key2 bai key3 28;对应的mget key1 key2 key3 方法对应的也有msetnxmget方法。
    在这里插入图片描述
  2. 一次性设置和取值的getset方法:
set key4 cc
getset key4 chanchun 返回旧值并设置新值的方法。

在这里插入图片描述

  1. incrdecr方法:对某一值进行递增和递减
  2. incrbydecrby方法:对某个值进行指定长度的递增和递减(语法:incrby key【步长】)
  3. append【name】方法:字符串追加方法
    在这里插入图片描述
  4. strlen【name】:获取字符串长度
    在这里插入图片描述

Hash

Hash类型是String类型的field和value的映射表,或者说一个String集合,它特别适合存储对象,相比较而言,将一个对象类型存储在Hash类型里摇臂存储在String类型里占用更少的内存空间,并方便存取整个对象。
形如:hset myhash field1 hello(含义是hset是hash集合,myhash是集合名字field1是字段名hello为其值)使用hget myhash field1获取内容,也可以存储多个值。
在这里插入图片描述
hmset可用进行批量存储多个键值对:hmset myhash sex nan addr beijing,也可使用hmget进行批量获取多个键值对。
在这里插入图片描述
同样hsetnx,和setnx大同小异
在这里插入图片描述
hincrbyhdecrby集合递增和递减。
hexists是否存在key如果存在返回不存在返回0
在这里插入图片描述
hlen返回hash集合里的所有的键数值
在这里插入图片描述
hdel删除指定hash的field
hkeys 返回hash里所有的字段
在这里插入图片描述
hvals返回hash的所有value
在这里插入图片描述
hgetall返回hash里所有的key和value
在这里插入图片描述

List类型(类似于Java的deque)

List类型是一个链表结构的集合,其主要功能有push、pop、获取元素等。更详细的说,List类型是一个双端链表的结构,我们可用通过相关操作进行集合的头部或尾部添加删除元素,list的设计非常简单精巧,既可以作为栈,又可以作为队列,满足绝大多数需求。
lpush方法:从头部加入元素(栈)先进后出
形如lpush list1 "hello" lpush list1 "world"
lrange list1 0 -1 (表示从头取到末尾)
在这里插入图片描述
rpush方法:从尾部加入元素(队列)先进先出
形如:rpush list2 "beijing" rpush list2 "sxt"
lrange list2 0 -1
在这里插入图片描述
linsert方法:插入元素
形如: lisert list3 before 【集合元素】 【插入的元素】
在这里插入图片描述
在这里插入图片描述
lset方法:将指定下标的元素替换掉
在这里插入图片描述
lrem方法:删除元素返回删除的个数


ltrim方法:保留指定key的值范围内的数据
在这里插入图片描述
lpop方法:从list的头部删除元素,并返回删除元素
rpop方法:从list的尾部删除元素,并返回删除元素
在这里插入图片描述
rpoplpush方法:第一步从尾部删除元素,然后第二部并从头部加入元素
在这里插入图片描述
在这里插入图片描述
lindex方法:返回名称为key的list中 index位置的元素
llen方法:返回元素的个数
在这里插入图片描述

set类型和zset类型

set类型

set集合是string类型的无序集合,set是通过hashtable实现的,对集合我们可以取交集、并集、差集。
sadd方法:向名称为key的set中添加元素;注意set集合不允许重复元素smembers查看set集合的元素
在这里插入图片描述
srem方法:删除set集合元素
在这里插入图片描述
spop方法:随机返回删除的key
在这里插入图片描述
sdiff方法:返回两个集合的不同元素(哪个集合在前面就以哪个集合为标准)
在这里插入图片描述
sdiffstore方法:将返回的不同元素存储到另外一个集合里
把第二个集合不同的元素放入第一个集合中会覆盖掉第一个集合与第二个集合不同的元素
在这里插入图片描述
小结:这里是把set1和set2的不同元素(以set1为准)存储到set3集合里
在这里插入图片描述
sinter方法:返回集合的交集
在这里插入图片描述
sinterstore方法:返回交集结果,存入set3中
在这里插入图片描述
sunion方法:取并集
sunionstore方法:取得并集,存入set3中
在这里插入图片描述
smove方法:从一个set集合移动到另一个set集合里
小结:将set1中的元素移动到set2中(相当于剪切复制)
在这里插入图片描述
scard方法:查看集合里元素个数
在这里插入图片描述
sismemeber方法:判断某元素是否为集合中的元素
小结:返回1代表是集合中的元素,0代表不是
在这里插入图片描述
srandmember方法:随机返回一个元素
在这里插入图片描述

zset类型

zadd向有序集合中添加一个元素,该元素如果存在,则更新顺序
小结:在重复插入的时候会根据顺序属性更新
在这里插入图片描述
zrem删除名称为key的zset中的元素member
zincrby以指定值去自动递增或减少,用法和之前的incrby类似
zrangebyscore找到指定区间范围的数据进行返回
zremrangebyrank删除1到1(只删除索引1)
zremrangebyscore删除指定序号
zrank返回排序索引从小到大排序(升序排序之后再找索引)
在这里插入图片描述
注意一个是顺序号一个是索引 zrank返回的是索引
在这里插入图片描述
zrevrank返回排序索引从大到小(降序排序之后再找索引)
在这里插入图片描述
zrangebyscore zset1 2 3 withscores 找到指定区间范围的数据进行返回
在这里插入图片描述
zcard返回集合里所有元素的个数
在这里插入图片描述
zcount返回集合中score在给定区间中的数量
在这里插入图片描述
zremrangebyrank zset 【from】 【to】(删除索引)
zremrangebyscore zset 【from】 【to】 (删除指定序号)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值