Redis学习——day02

性能测试工具:Redis-benchmark

  • 官方自带的测试工具
  • 参数:在这里插入图片描述
  • 简单练习:redis-benchmark -h localhost -p 6379 -c 100 -n 10000
    在这里插入图片描述

Redis基础知识:

  • redis默认有16个数据库:在这里插入图片描述
    • 默认使用第0个数据库,可以使用select进行切换数据库在这里插入图片描述
      在这里插入图片描述
    • 清除数据库:flushdb
      在这里插入图片描述
    • 清楚所有数据库:flushall
      在这里插入图片描述

redis的数据类型:

在这里插入图片描述
redis-key:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • string类型:
    • 可以是字符串、整数或浮点数;对整个字符串或字符串的一部分进行操作;对整数或浮点数进行自增或自减操作。
      在这里插入图片描述
      追加字符串,如果数据库里没有key,就相当于set
      在这里插入图片描述
      在这里插入图片描述
      ========================================================================
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      ====================================================================================
      在这里插入图片描述
      在这里插入图片描述
      ====================================================================================
      在这里插入图片描述
      ========================================================================================
      在这里插入图片描述
      在这里插入图片描述
      ====================================================================================
      在这里插入图片描述
  • list
    • 一个链表,链表上的每个节点都包含一个字符串;对链表的两端进行push和pop操作,读取单个或多个元素;根据值查找或删除元素。
      在这里插入图片描述

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

  • **hash散列类型:**map集合 key-map的形式
    • 包含键值对的无序散列表,包含方法有添加、获取、删除单个元素
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
  • set集合
    • 包含字符串的无序集合,字符串的集合,包含基础的方法有看是否存在添加、获取、删除;还包含计算交集、并集、差集等
    • set集合中的值是不能重复的
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
  • zset有序集合
    • 和散列一样,用于存储键值对;字符串成员与浮点数分数之间的有序映射;元素的排列顺序由分数的大小决定;包含方法有添加、获取、删除单个元素以及根据分值范围或成员来获取元素
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

特殊数据类型:

  • geospatial(地理位置) 用于朋友的定位,附近的人,打车的距离

    • Redis geospatial indexes let you store coordinates and search for them. This data structure is useful for finding nearby points within a given radius or bounding box.
      在这里插入图片描述
      添加数据:GEOADD 命令 - 将指定的地理空间位置(纬度、经度、名称)添加到指定的key中
      有效的经度从-180度到180度。
      有效的纬度从-85.05112878度到85.05112878度。
      当坐标位置超出上述指定范围时,该命令将会返回一个错误。
      在这里插入图片描述
  • GEOPOS 命令 - 从key里返回所有给定位置元素的位置(经度和纬度)
    在这里插入图片描述

  • GEODIST 命令 - 返回两个给定位置之间的距离
    如果两个位置之间的其中一个不存在, 那么命令返回空值。
    指定单位的参数 unit 必须是以下单位的其中一个:

    • m 表示单位为米
    • km 表示单位为千米
    • mi 表示单位为英里
    • ft 表示单位为英尺。
      如果用户没有显式地指定单位参数, 那么 GEODIST 默认使用米作为单位。
      在这里插入图片描述
  • GEORADIUS 命令 - 以给定的经纬度为中心, 找出某一半径内的元素(应用:附近的人)
    范围可以使用以下其中一个单位:

    • m 表示单位为米。
    • km 表示单位为千米。
    • mi 表示单位为英里。
    • ft 表示单位为英尺。
      在给定以下可选项时, 命令会返回额外的信息:
    • WITHDIST: 在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。 距离的单位和用户给定的范围单位保持一致。
    • WITHCOORD: 将位置元素的经度和维度也一并返回。
    • WITHHASH: 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值。 这个选项主要用于底层应用或者调试, 实际中的作用并不大。
      命令默认返回未排序的位置元素。 通过以下两个参数, 用户可以指定被返回位置元素的排序方式:
    • ASC: 根据中心的位置, 按照从近到远的方式返回位置元素。
    • DESC: 根据中心的位置, 按照从远到近的方式返回位置元素。
      在默认情况下, GEORADIUS 命令会返回所有匹配的位置元素。 虽然用户可以使用 COUNT 选项去获取前 N 个匹配元素, 但是因为命令在内部可能会需要对所有被匹配的元素进行处理, 所以在对一个非常大的区域进行搜索时, 即使只使用 COUNT 选项去获取少量元素, 命令的执行速度也可能会非常慢。 但是从另一方面来说, 使用 COUNT 选项去减少需要返回的元素数量, 对于减少带宽来说仍然是非常有用的。
  • GEORADIUSBYMEMBER 命令 - 找出位于指定范围内的元素,中心点是由给定的位置元素决定

    • 这个命令和 GEORADIUS 命令一样, 都可以找出位于指定范围内的元素, 但是 GEORADIUSBYMEMBER 的中心点是由给定的位置元素决定的, 而不是像 GEORADIUS 那样, 使用输入的经度和纬度来决定中心点
  • GEOHASH 命令 - 返回一个或多个位置元素的 Geohash 表示

    • 返回一个或多个位置元素的 Geohash 表示。
    • 该命令将返回11个字符的Geohash字符串
      在这里插入图片描述
      geo的底层实现原理是基于zset的,删除操作使用zset实现的
  • Hyperlogog

    • Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。
    • 什么是基数:比如数据集 {1, 3, 5, 7, 5, 7, 8}, 那么这个数据集的基数集为 {1, 3, 5 ,7, 8}, 基数(不重复元素)为5。 基数估计就是在误差可接受的范围内,快速计算基数。
      在这里插入图片描述
      在这里插入图片描述
  • Bitmaps
    位存储
    用于疫情感染人数标记、统计用户活跃不活跃、登录未登录、打卡…两个状态的数据都可以使用
    模拟一周打卡情况:
    0:未打卡 1:打卡
    在这里插入图片描述
    在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

? Adore ?

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

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

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

打赏作者

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

抵扣说明:

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

余额充值