当前位置: 首页 > news >正文

淮南市潘集区信息建设网站武汉网络推广有限公司

淮南市潘集区信息建设网站,武汉网络推广有限公司,独立网站开发模板,什么是网站权重文章目录redis位图(bitmap) --- 底子还是string基本命令图示setbit key offset value setbit 键 偏移位 只能零或者1getbit key offset 查看获取字符串长度 strlen统计key中包含1的个数 bitcount keybitop 统计两个比特key是否都为1技术落地:打卡签到,频…

文章目录

    • redis位图(bitmap) --- 底子还是string
      • 基本命令图示
      • `setbit key offset value` setbit 键 偏移位 只能零或者1
      • `getbit key offset` 查看
      • 获取字符串长度 `strlen`
      • 统计key中包含1的个数 `bitcount key`
      • `bitop` 统计两个比特key是否都为1
      • 技术落地:打卡签到,频繁修改数据库的,结果只有0和1
    • redis基数统计(HyperLogLog) --- 底子是string
      • UV:Unique Visitor,独立访客;统计搜索词条
      • 基数统计算法
      • 基数
      • 基本命令图示
      • 基数落地:天猫统计亿级UV
    • redis地理空间 (GEO) --- 底子上是有序集合
      • 获取经纬度
      • 添加经纬度坐标 `GEOADD key 经度1 纬度1 位置名称1 经度2 纬度2 位置名称2...`
        • 处理中文乱码
      • `GEOPOS key value1 value2` 从键里面返回所有给定位置元素的位置 (经度和纬度)
      • `GEODIST key value1 value2 [m | km | ft | mi] ` 返回两个给定位置之间的距离
      • `GEORADIUS key 经度 纬度 10km...` 以给定的经纬度为中心,返回与中心的距离不超过给定最大距离的所有位置元素
      • `GEORADIUSBYMEMBER key value 10km ...` 跟GEORADIUS类似
      • `GEOHASH key value1 value2` 返回一个或多个位置元素的 Geohash 表示
    • redis流 (Stream) --- 自成一脉stream
      • 底层结构与原理
      • 基础命令图示
      • 特殊符号
      • 向队列添加消息到队列末尾 `XADD key * id 1 cname z3`
      • 范围检索 `XRANGE key start end [COUNT count]`
      • `XREVRANGE KEY + - `
      • `XDEL key MQID` 按照主键删除
      • `XLEN key` 消息队列长度
      • 截取 `XTRIM key maxlen|minlen 2`
      • 读取消息(阻塞、非阻塞),只会返回ID大于某值的消息 `XREAD [COUNT count] stream key ID`
      • 消费组执行-`XGROUP`
      • 消费组执行-`XREADGROUP GROUP`
      • 重要问题-ACK机制
      • `XPENDING` 查询每个消费组内所有消费者 r已读取、但尚未确认]的消息
      • `XACK` 向消息队列确认消息处理已完成
      • `XINFO stream key` 打印出详情信息
    • redis位域(bitfield)
      • 应用、用途 --- 位域修改、溢出控制
      • 基本语法 `BITFIELD key [GET type offset] [SET type offset value] [INCRBY type offset increment] [OVERFLOW WRAP|SAT|FAIL]`
      • `BITFIELD key [GET type offset]`
      • `BITFIELD key [SET type offset value]`
      • `BITFIELD key [INCRBY type offset increment]`
      • `溢出控制OVERFLOW [WRAPISAT|FAIL]`

redis位图(bitmap) — 底子还是string

由0和1状态表现的二进制位的bit数组
位图本质是数组,它是基于String数据类型的按位的操作。该数组由多个二进制位组成,每个二进制位都对应一个偏移量(我们称之为一个索引)。

在这里插入图片描述

redis基数统计(HyperLogLog) — 底子是string

HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定且是很小的。
在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。
但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。
记录的不是数据本身,而是统计数;是去重脱水后的真实数据
统计本身也存在些许误差,误差范围在0.81%

redis地理空间 (GEO) — 底子上是有序集合

Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,包括
添加地理位置的坐标。
获取地理位置的坐标。
计算两个位置之间的距离。
根据用户给定的经纬度坐标来获取指定范围内的地理位置集合
核心思想就是将球体转换为平面,区块转换为一点

在这里插入图片描述在这里插入图片描述

  • 获取经纬度

    百度提供的api:https://api.map.baidu.com/lbsapi/getpoint/

  • 添加经纬度坐标 GEOADD key 经度1 纬度1 位置名称1 经度2 纬度2 位置名称2...

    在这里插入图片描述

    处理中文乱码

    在这里插入图片描述

  • GEOPOS key value1 value2 从键里面返回所有给定位置元素的位置 (经度和纬度)

    在这里插入图片描述

  • GEODIST key value1 value2 [m | km | ft | mi] 返回两个给定位置之间的距离

    ft:英尺;mi英里

    在这里插入图片描述

  • GEORADIUS key 经度 纬度 10km... 以给定的经纬度为中心,返回与中心的距离不超过给定最大距离的所有位置元素

    GEORADIUS city 116.418017 39.914402 10 km withdist withcoord count 10 withhash desc
    GEORADIUS city 116.418017 39.914402 10 km withdist withcoord withhash count 10 desc

    WITHDIST: 在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。 距离的单位和用户给定的范围单位保持一致。
    WITHCOORD: 将位置元素的经度和维度也一并返回。
    WITHHASH: 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值。 这个选项主要用于底层应用或者调试, 实际中的作用并不大
    COUNT 限定返回的记录数。
    

    在这里插入图片描述

  • GEORADIUSBYMEMBER key value 10km ... 跟GEORADIUS类似

    在这里插入图片描述

  • GEOHASH key value1 value2 返回一个或多个位置元素的 Geohash 表示

    geohash算法生成的base32编码值

    在这里插入图片描述
    在这里插入图片描述

redis流 (Stream) — 自成一脉stream

Redis Stream 是 Redis 5.0 版本新增加的数据结构。
Redis Stream 主要用于消息队列(MQ,Message Queue),Redis 本身是有一个 Redis 发布订阅 (pub/sub) 来实现消息队列的功能,但它有个缺点就是消息无法持久化,如果出现网络断开、Redis 宕机等,消息就会被丢弃。
简单来说发布订阅 (pub/sub) 可以分发消息,但无法记录历史消息。
而 Redis Stream 提供了消息的持久化和主备复制功能,可以让任何客户端访问任何时刻的数据,并且能记住每一个客户端的访问位置,还能保证消息不丢失
总结:redis流就是Redis版的MQ消息中间件+阻塞队列

redis位域(bitfield)

通过bitfield命令可以一次性操作多个比特位域(指的是连续的多个比特位),它会执行一系列操作并返回一个响应数组,这个数组中的元素对应参数列表中的相应操作的执行结果。
说白了就是通过bitfield命令我们可以一次性对多个比特位域进行操作。
将一个Redis字符串看作是一个由二进制位组成的数组并能对变长位宽和任意没有字节对齐的指定整型位域进行寻址和修改

在这里插入图片描述

  • 应用、用途 — 位域修改、溢出控制

    在这里插入图片描述

    hello 等价于 0110100001100101011011000110110001101111

  • 基本语法 BITFIELD key [GET type offset] [SET type offset value] [INCRBY type offset increment] [OVERFLOW WRAP|SAT|FAIL]

    在这里插入图片描述

  • BITFIELD key [GET type offset]

    hello 等价于 0110100001100101011011000110110001101111

    在这里插入图片描述在这里插入图片描述

  • BITFIELD key [SET type offset value]

    在这里插入图片描述

  • BITFIELD key [INCRBY type offset increment]

    在这里插入图片描述

  • 溢出控制OVERFLOW [WRAPISAT|FAIL]

    • WRAP:使用回绕 (wrap around) 方法处理有符号整数和无符号整数的溢出情况
      在这里插入图片描述

    • SAT:使用饱和计算 (saturation arithmetic)方法处理溢出下溢计算的结果为最小的整数值,而上溢计算的结果为最大的整数值
      在这里插入图片描述

    • FAIL:命令将拒绝执行那些会导致上溢或者下溢情况出现的计算并向用户返回空值表示计算未被执行
      在这里插入图片描述

http://www.dinnco.com/news/39463.html

相关文章:

  • 智能建站设计竞价排名适合百度这样的网络平台吗
  • 网站建设优化服务网站seo快速优化
  • 网站建设源码是什么网站发布与推广方案
  • 秦皇岛做网站的公司哪家好广州seo优化费用
  • 美发培训网站打造龙头建设示范
  • 东莞 网站设计企业网站推广外包
  • 做网站asp和asp.netseo网站系统
  • 北京便宜做网站网络公司排名
  • 自己做视频网站可以吗2345网址导航官方网站
  • 京icp备案查询app优化推广
  • 营销网站建设维护百度网站app下载
  • 国外做兼职网站有哪些有没有专门做策划的公司
  • 任丘住房建设局网站seo外链论坛
  • 壹搜网站建设优化排名长沙关键词优化费用
  • 网站创建人seo排名培训学校
  • 互联网 网站建设苏州百度搜索排名优化
  • 徐汇网站建设公司网站制作教程
  • 怎么做ps4的视频网站百度手机助手苹果版
  • 学做网seo每天一贴博客
  • 大方网站制作广州网络seo优化
  • 网站开发的广告词欧美seo查询
  • 网站建设价格西安qq群引流推广平台免费
  • 简述网站制作方案和主要内容百度网页版怎么切换
  • 做网站和SSH怎么宣传网站
  • 珠海网站建设培训b站推广入口2023破解版
  • 网站轮播图的按钮怎么做的谷歌seo招聘
  • 网站建设数据库是什么今日足球赛事分析推荐
  • 前端用什么框架做网站网站首页模板
  • 博尔塔拉州大型网站建设百度做个人简介多少钱
  • 个人 服务器 linux 建网站推广平台网站