Redis学习——day02

news2024/11/20 3:18:35

Redis学习基础

  • 性能测试工具:Redis-benchmark
  • Redis基础知识:
  • redis的数据类型:
    • 特殊数据类型:

性能测试工具: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:打卡
    在这里插入图片描述
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/495642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端开发环境搭建踩坑笔记——npm install node-sass安装失败的解决方案

文章目录 问题背景问题描述解决方案1. 检查node-sass安装版本是否正确。2. 检查是否是网络问题 总结 问题背景 开发新的前端项目时,总少不了搭建开发环境和执行npm install安装依赖包,但npm install的过程总是充满着玄学,很难保证一次性成功…

Java之多线程初阶2

一.上节内容复习 上节内容指路:Java之多线程初阶 1.进程和线程的区别 1.进程中至少包含一个线程(主线程) 2.进程是申请计算机资源的最小单位 3.线程是CPU调度的最小单位 4.进程之间是相互隔离的,线程是使用的是进程统一申请来的资源,之间可以相互影响 2.创建线程的四种方…

设计模式——适配器模式(类适配器、对象适配器)

是什么? 我们平时的有线耳机接口分为USB的和Type-C的接口,但是手机的耳机插口却只有一个,像华为的耳机插口现在基本都是Type-c的,那如果我们现在只有USB接口的耳机怎么办呢,这个时候就需要使用到一个转换器&#xff0c…

数据汇总从20s优化至2s(小经验)

目录 项目背景: 数据汇总访问时间长的问题: 解决方案: 1.创建参与访问表 2.使用redis进行优化 总结: 项目背景: 一个简单的抽奖系统,当要统计每天的参与访问,总的参与访问 数据汇总访问时…

运维高可用架构的 6 大常规方案

在介绍高可用架构的方案之前,先说一下什么是高可用架构,高可用架构应具备但不限于以下特征: 主从切换 很好理解,当其中一台机器的服务宕机后,对于服务调用者来说,能够迅速的切换到其他可用服务,…

俩小伙一晚上写了个 AI 应用,月入两万??(文末附开发教程)

开发出一款能够与 AI 对话生成和编辑思维导图的工具,听起来似乎只能是一群专业的 AI 背景团队花费大量的时间和精力训练模型,打磨应用才能完成的事情。 但是,两名大学生却在一夜之间完成了,就像炼金术士将庸俗的材料转化成黄金一…

吃掉脂肪,狂减33斤!午餐菜单一次性公开!

一周高效减脂蔬菜沙拉|上班族学生党减脂备餐便当 😘我是4个月瘦30斤,减脂迫在眉睫,巨掉秤好吃的蔬菜沙拉来咯!肉类提前备好放冷冻,工作日只需10分钟搞定,做减脂早午晚餐都可以哦~ …

Mysql 中left join时 on、and、where区别

1、准备两张表student与class表 student class 2、left join on左连接 select * from student s left join class c on s.classId c.id 左表数据全部显示,关联到的右表数据显示,没有显示null 3、left join on ... and对左表student进行条件筛选 …

解决echarts图表随窗口宽度变化而改变图表的大小

文章目录 前言一、演示前后对比效果二、解決方法1.在代码结尾加上监听方法2.示例 三、总结扩展问题 前言 很多同学在使用echarts时遇到了浏览器窗口大小发生变化时,图表大小没有自适应窗口的宽度,下面我将对比演示随着窗口大小变化,echarts图…

(四)【平衡小车制作】陀螺仪MPU6050

一、硬件结构 1.什么是陀螺仪? 陀螺仪是用于测量或维护方位和角速度的设备。它是一个旋转的轮子或圆盘,其中旋转轴可以不受影响的设定在任何方向。当旋转发生时,根据角动量守恒定律,该轴的方向不受支架倾斜或旋转的影响。 2.MPU…

在Ubuntu18.04中安装uWebSockets库

目录 1.下载uWebSockets库2.下载uSockets3.安装openssl开发包4.编译首先说明这里使用的Ubuntu版本为18.04。 1.下载uWebSockets库 下载uWebSockets库有两种方式,一是终端,从Github中克隆uWebSockets库到Ubuntu本地文件夹,二是打开uWebSockets库下载链接自己下载到Windows,然…

Python实现将快手个人主页的视频进行无水印下载

前言 本文是该专栏的第26篇,后面会持续分享python的各种干货知识,值得关注。 笔者之前有详细介绍快手滑块验证码的识别方法(Python如何解决“快手滑块验证码”(4)),感兴趣的同学可往前翻阅查看。需要注意的是,滑块验证码的缺失距离需要根据你自己电脑的分辨率进行微调,…

STM32 i2c 驱动0.42寸OLED

STM32 i2c 驱动0.42寸OLED,这是个项目中使用的方案,调试也是比较费劲,主要是取字模和代码的匹配,下个篇章中详解一下取字模的过程,在这个方案中的使用。 本文使用的测试代码 STM32i2c驱动0.42寸OLED,SSD1…

体验 ChatGLM-6B

体验 ChatGLM-6B 1. 什么是 ChatGLM-6B2. Github 地址3. 安装 Miniconda34. 创建虚拟环境5. 安装 ChatGLM-6B6. 启动 ChatGLM-6B7. 访问 ChatGLM-6B8. API部署9. 命令行部署10. 其他,修改使用显存大小 1. 什么是 ChatGLM-6B ChatGLM-6B 是一个开源的、支持中英双语…

面了一个4年经验的测试工程师,自动化都不会也要18k,我真是醉了...

在深圳这家金融公司也待了几年,被别人面试过也面试过别人,大大小小的事情也见识不少,今天又是团面的一天, 一百多个人都聚集在一起,因为公司最近在谈项目出来面试就2个人,无奈又被叫到面试房间。 整个过程…

音频焦点使用及原理

音频焦点使用及原理 本博客代码基于Android 10源码 为什么会有音频焦点这一概念? 在Android音频领域中,应用层所有的App播放音频,最终都是走到音频回播线程PlaybackThread中,如果多个App都走到同一个PlaybackThread中去&#xff0…

chat错误代码1020是什么原因导致的-解决chat错误代码1020

ChatGPT拒绝访问1020是什么原因 ChatGPT拒绝访问1020可能是因为服务器故障、网络连接问题或者人工智能模型正在进行训练或调整等原因所致。一般来说,ChatGPT会在进行维护、升级或训练时暂停服务,这可能导致用户在访问ChatGPT时遇到拒绝访问的情况。在该…

2023年淮阴工学院五年一贯制专转本财务管理基础考试大纲

2023年淮阴工学院五年一贯制专转本财务管理基础考试大纲 一、考核对象 本课程的考核对象为五年一贯制高职专转本财务管理专业入学考试普通在校生考生。 二、考核方式 本课程考核采用闭卷笔试的方式。 三、命题依据及原则 1、命题依据 本课程考核命题教材为靳磊编著&…

2023年会展服务研究报告

第一章 行业概况 会展行业是指一系列与会议、展览、展示相关的服务和经济活动的总称,是加强企业间交流、促进合作和推动经济发展的重要手段。该行业涉及广泛,包括会议和展览的组织、场地租赁和设计、活动策划和执行、展品运输和咨询服务等各个环节。随着…

每个人都可以用来提高生产力的「项目管理策略」

与以往相比,越来越多的公司为员工提供混合办公(办公室工作远程办公)和远程办公的选择,这实际是出于对效率的强需求。 尽管员工的工作时间增加了,但办公室等工作场所的工作效率正在以几十年来最快的速度下降。专家们列…