关于redis6的五大数据类型

这是官方文档链接

1.五大数据类型

String、List、Hash、Set、Zset

2.String

在redis中使用get/set检索和设置字符串,这个值可以是任何字符串包括了二进制,这样使得可以存储更多类型的文件,但是最大512MB。

 getrange  获得key的范围,

getset  覆写key 

 3.List

        官方描述:Redis 列表是通过链表实现的,这意味着即使列表中有数百万个元素,在列表的头部或尾部添加新元素的操作也是在常数时间内执行的。用LPUSH命令在10个元素的列表头添加一个新元素的速度与在1000万个元素的列表头添加一个元素的速度是一样的。

 lpush/rpush 左/右插入一个或多个值

Redis 允许我们使用列表作为上限集合,只记住最新的 N 项并使用LTRIM命令丢弃所有最旧的项。

 这个LTRIM命令告诉 Redis 只获取从索引 0 到 2 的列表元素,其他所有元素都将被丢弃。

除此之外:

lpop/rpop左边/右边取出 健在值在 键光值亡

rpoplpush 右边取出来插到左边

lrange 取范围值 索引下标 从左到右

lindex 按照索引下标获取元素从左到右

llen 获取长度

linsert key before value newvalue 在value的前面插入newvalue

lrem key n value 从左边删除n个值 从左到右

lset key index vlaue 第n个位置换为value

list底层结构为quicklist,在列表较少的情况下 为ziplist,变多后为quicklist,注意都是双指针。

4.Hash

常用的命令如下:

hset 添加数据

hget 取出

hmset 批量和设置

hexits 查看是否存在

hkeys 查看所有field

hvals 查看所有value

hincyby 给key中的filed 值增量

hsetnx 将key中的filed设为value ------当field不存在

5.Set

set是无序的字符串集合,他的数据结构----dict字典  字典由哈希表实现

常用的命令如下:

sadd 一个或者多个member加入到集合key中

scard 返回key的个数

srem 删除某个元素

srandmerber 随机取出n个值 但是不会删除

smove 把一个元素从一个集合移动到另一个集合

sinsert 返回元素的交集

sunion 返回集合的并集

sdiff 返回差集

6.Zset

        官方描述:有序集合是一种类似于集合和哈希混合的数据类型。底层是hash和跳跃表 。与集合一样,有序集合由唯一的、不重复的字符串元素组成,因此在某种意义上,有序集合也是一个集合。然而,虽然集合内的元素没有排序,排序集合中的每个元素都与一个浮点值相关联,称为分数 (这就是为什么类型也类似于散列,因为每个元素都映射到一个值)。此外,有序集合中的元素是按顺序获取的(因此它们不是按请求排序的,顺序是用于表示有序集合的数据结构的特性)。它们根据以下规则排序:

  • 如果 A 和 B 是具有不同分数的两个元素,则 A > B 如果 A.score 是 > B.score。
  • 如果 A 和 B 的分数完全相同,则 A > B 如果 A 字符串按字典顺序大于 B 字符串。A 和 B 字符串不能相等,因为排序集只有唯一元素。

zset中 每个成员关联一个评分score 被用来排序

zadd key score value   添加score

zincrby key increment value 增加score,返回增加后的score

zrangebyscore key -inf +inf 从小到大排序

zrem key value 删除

zcard key 获取元素个数

7.hyperloglog

        可以解决去重和计数的问题,mysql可以用distinct count去重而redis可以用set hsah bitmap,hypeloglog12kb就可以计算2^64个不同的基数,

pfadd 变化了返回1 否则 0,

pfcount 计算数量 计算基数 意思就是重复的不计算pfmerge 合并

8.geospatial

        就是一个二维坐标,如geoadd china:city 10. 21 31.23 上海---经纬度,但是超出范围会返回错误,范围是 +180 -180 +85 -85。

geopos 输出经纬度

geodist 两距离的直线距离 单位m km mi ft

georadius 给定的经纬度找出某一半径的元素

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值