Redis——其他数据类型介绍

概要介绍

Redis中有10种不同的数据类型。之前的blog中介绍了Redis中常见的五大数据类型:String,List,Hash,Set,ZSet。而Redis中还有许多其他的数据类型,一般在特定的场景中使用

Stream

首先介绍一下什么是事件,例如JS中的点击button,键盘输入等等都是事件,后端一直等待前端返回数据,然后采取相应的措施。再例如epoll / io多路复用,网卡/socket上有可读可写的数据时回通过事件的回调机制通知应用程序

而stream类型就可以用来模拟实现事件传播的机制,实际上是一个阻塞队列

Geospatial

用来存储坐标(经纬度),给定坐标后,就可以按照半径,矩形区域来查找存储的点

在这里插入图片描述

HyperLogLog

HyperLogLog不存储元素的内容,只记录元素的特征,从而在新增元素时可以判断该元素是否已经存在

而HyperLogLog的作用就是统计集合中元素的个数

如果有一亿个用户,假设使用8个字节存储一个用户信息,那么就需要0.8G内存来存储这些用户信息,而HyperLogLog只需要12KB左右就可以存储这些用户信息

bitmaps

也就是位图,使用bit位来表示整数
例如存储整数7,就可以将从右到左的第7个数字从0变为1,这样就知道7是已经存储过的了
在这里插入图片描述
由于只是占用一个bit位来描述一个数字是否被存储,因此是非常节省空间的操作

HyperLogLogbitmaps
占用空间更小占用空间大
可以存储各种数据类型只能存储整数
无法提取元素可以提取元素

bitfields

中文是位域,本质上是让程序员可以精确进行位操作的一种方法

之前在c语言blog中介绍的位段,就是位域

struct demo{int aa : 8;int bb : 16;int cc : 8;
}

bitfield是一串字节数组,可以将这个字节数组中的某几个位进行读取,修改,算数运算等操作,例如游戏中有血条和蓝条,使用bitfield,可以分别对血条和蓝条进行不同的值的增减操作

相对于string或hash数据类型,bitfield对空间的需求更小

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bootstrap-datepicker实现只能选择每一年的某一个月份

1、问题描述 最近碰到一个需求,要求日期控件选择的时候,只能选择某一年的1月份。 2、解决方法 使用setStartDate()和setEndDate()函数对日期选择框进行范围限制。 3、我的代码 【免费】bootstrap-datepicker实现只能选择每一年的某一个月份资源-CSDN文库…

从零开始的PICO教程(1)Pico游戏开发项目配置

从零开始的PICO教程(1)Pico游戏开发项目配置 文章目录 从零开始的PICO教程(1)Pico游戏开发项目配置一、前言1、大纲 二、成为Pico开发者1、注册 PICO 开发者帐号2、创建组织3、创建应用 三、导入PICO的SDK1、PICO设备开启 “开发者…

睿思BI制作数据分析报告并导出到word中

数据分析报告是一种常用的分析应用文体,它是数据分析项目的目的、方法、过程、结论以及可行性建议等内容的完整展示,是数据背后真实的业务水平的客观体现,是管理者做出科学、严谨决策的依据。睿思BI在数据报表中配置数据分析报告,…

【LeetCode: 1462. 课程表 IV:拓扑排序+图+广度优先搜索】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Mobileye CEO来华:只有能控制住成本的公司,才能活下来

‍作者|德新 编辑|王博 上午9点近一刻,Mobileye CEO Amnon Shuashua步入酒店的会议室。由于Amnon本人是以色列希伯来大学的计算机科学教授,大部分人更习惯称他为「教授」。 时近以色列的新年,这趟教授的中国之行安排十分紧凑。 他率领了一…

统计表和流程分析,也能同屏呈现_三叠云

表单统计&流程分析 路径 表单设计 >> 表单设置 >> 拓展设置 >> 表单统计 功能简介 新增表单统计、流程分析功能(Beta版)。可在当前列表,直接看到表单的统计表和流程分析数据统计图表。 1. 统计表:统计…

密码学概述

密码学的概念 密码,最初的目的是用于对信息加密,计算机领域的密码技术种类繁多。但随着密码学的运用,密码还被用于身份认证、防止否认等功能上。密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变…

大数据Flink(七十四):SQL的滑动窗口(HOP)

文章目录 SQL的滑动窗口(HOP) SQL的滑动窗口(HOP) 滑动窗口定义:滑动窗口也是将元素指定给固定长度的窗口。与滚动窗口功能一样,也有窗口大小的概念。不一样的地方在于,滑动窗口有另一个参数控制窗口计算的频率(滑动窗口滑动的步长)。因此,如果滑动的步长小于窗口大…

关于FastReport中特殊字符中括号[]的处理

在FastReport报表中,TextObject控件,RichObject控件等,会默认使用英文的中括号[]作为特殊字 符,用于表达式的计算。 这样,在程序中如果对 该控件进行赋值(值中带有中括号[]),则程序就会出错。 如果不需要…

互联网医院App开发:构建医疗服务的技术指南

互联网医院App的开发是一个复杂而具有挑战性的任务,但它也是一个充满潜力的领域,可以为患者和医疗专业人员提供更便捷的医疗服务。本文将引导您通过一些常见的技术步骤来构建一个简单的互联网医院App原型,以了解该过程的基本概念。 技术栈选…

YOLO物体检测系列3:YOLOV3详解

🎈🎈🎈YOLO 系列教程 总目录 YOLOV1整体解读 YOLOV2整体解读 YOLOV3提出论文:《Yolov3: An incremental improvement》 1、YOLOV3改进 这张图讲道理真的过分了!!!我不是针对谁,在…

前端错误监控

目录 js运行时错误 普通错误 错误捕获 捕获到的错误信息 未捕获的Promise错误 错误捕获方式 更推荐的做法 关于Vue 的 errorHandler 关于 React 的 ErrorBoundary 网络请求错误 静态资源加载失败 如何监控静态资源加载失败呢? Script error,…