NOSQL Redis十大数据类型

news2025/1/8 20:34:15

String 字符串

string 是redis最基本的类型,而是使用最多的数据类型,
一个 key 对应一个 value
string 类型是 二进制安全的,意思reidis 的string 可以包含任何数据(任何数据都可以转换binary的),比如jpg图片或者序列化的对象
一个redis中字符串value 最多可以是512M

在这里插入图片描述

List 列表

列表是简单的字符串列表,按照插入顺序排序,你可以添加一个元素到列表的头部(左边)或尾部(右边)
它的底层实际是个双端链表,最多可以包含2^32-1 个数(429497295,每个列表超过40亿个元素)

Hash 哈希

hash 是一个string类型的 field(字段)和value(值)的映射表,hash特别适合用于存储对象
每个hash可以存储2^32-1 键值对(40多亿)
string: k v
hash: k field v
在这里插入图片描述

在这里插入图片描述

Set 集合

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

集合对象的编码可以是 intset 或者 hashtable。

Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

集合中最大的成员数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个成员)
在这里插入图片描述

Sorted set ===Z set 有序集合

Redis zset和set一样也是 string 类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的成员数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个成员)。
在这里插入图片描述

地理空间 GEO

Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。

Redis GEO 操作方法有:

geoadd:添加地理位置的坐标。
geopos:获取地理位置的坐标。
geodist:计算两个位置之间的距离。
georadius:根据用户给定的经纬度坐标来获取指定范围内的地理位置集合。
georadiusbymember:根据储存在位置集合里面的某个地点获取指定范围内的地理位置集合。
geohash:返回一个或多个位置对象的 geohash 值。

基数统计 Redis HyperLogLog

Redis 在 2.8.9 版本添加了 HyperLogLog 结构。

Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。

在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。

但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。

位图 bitmap
stream

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

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

相关文章

推荐一个好用的电商开源项目yudao源码

1、项目下载cloneruoyi-vue-pro: 🔥 官方推荐 🔥 RuoYi-Vue 全新 Pro 版本,优化重构所有功能。基于 Spring Boot MyBatis Plus Vue & Element 实现的后台管理系统 微信小程序,支持 RBAC 动态权限、数据权限、SaaS 多租户、…

使用日志分析工具了解网络情况

日志分析(或日志文件分析)是检查整个网络中生成的日志数据的过程,日志数据从各种来源生成,包括外围设备、工作站、服务器、应用程序以及其他硬件和软件组件,将它们收集到一个中心位置并进行分析,可以为了解…

提升工作效率的一些网站、应用、插件和小技巧(二)

前言 距离发布提升工作效率的一些网站、应用、插件和小技巧(一)已经过去了三年,这次再分享一下这三年里新 Get 到的一些工作、技巧,欢迎各位在评论区也分享一下自己使用的工具软件等,也希望下一个三年我还能继续坚持分…

蓝桥杯每日一题2023.9.28

AcWing 4409. 砍竹子 - AcWing 题目描述 题目分析 注:sqrtl的范围为long double,比sqrt更加精确 使用优先队列维护一段区间,如果连续一段相同就合并为一个区间,从大到小去枚举,每次先取出最大的一段,双…

MySQL到TiDB:Hive Metastore横向扩展之路

作者:vivo 互联网大数据团队 - Wang Zhiwen 本文介绍了vivo在大数据元数据服务横向扩展道路上的探索历程,由实际面临的问题出发,对当前主流的横向扩展方案进行了调研及对比测试,通过多方面对比数据择优选择TiDB方案。其次分享了整…

首批48所高校大模型开课“尝鲜”,AI教学赋能计划合作名单公布

为适应大模型时代快速迭代的人才需求,百度飞桨全新发布《AI教学赋能计划(大模型特辑)》,提供文心大模型、飞桨AI Studio星河社区、大模型课程资源、师资培训、高校竞赛等体系化支持,支持高校顺应时代潮流、共启大模型人…

LeetCode算法二叉树—116. 填充每个节点的下一个右侧节点指针

目录 116. 填充每个节点的下一个右侧节点指针 题解: 代码: 运行结果: 给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node {int val;Node *left;N…

爬虫抓取数据时显示超时,是爬虫IP质量问题?

当我们进行网络爬虫开发时,有时会遇到抓取数据时出现超时的情况。这可能是由于目标网站对频繁请求做了限制,或者是由于网络环境不稳定造成的。其中,爬虫IP的质量也是导致超时的一个重要因素。本文将探讨抓取数据时出现超时的原因,…

2023-9-28 JZ54 二叉搜索树的第k个结点

题目链接:二叉搜索树的第k个结点 import java.util.*;/** public class TreeNode {* int val 0;* TreeNode left null;* TreeNode right null;* public TreeNode(int val) {* this.val val;* }* }*/public class Solution {/*** 代码中的类名、方…

什么是大数据可视化

在互联网高速发展的当今,5G的兴起加速了数据传输的速度;与此同时,智能物联网如智慧家电、可穿戴设备等产品的火热,进一步扩充了数据获取的渠道。不仅仅在网页上、手机和电脑应用上以秒计产生海量数据,智能设备同时也在…

学习资源汇集

✨作者:猫十二懿 ❤️‍🔥账号:CSDN 、掘金 、个人博客 、Github 🎉公众号:猫十二懿 一、笔记软件 总结个人觉得好看并且简洁的软件,若是你觉得有更好的笔记软件,欢迎分享 Typora 最新版本收费…

【C/C++笔试练习】——常量指针和指针常量、位段的内存分配、统计输入的字母个数、排序子序列、倒置字符串

文章目录 C/C笔试练习1.常量指针和指针常量(1)常量指针和指针常量的定义(2)判别常量指针和指针常量(3)常量指针和指针常量的特性 2.结构体内存分配(4)位段的内存分配计算 3.完善程序…

【事务】事务的特性、并行事务有什么问题、事务的隔离级别等重点知识汇总

目录 事务的四大特性 并行事务会引发什么问题? 事务的隔离级别 事务的四大特性 原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被恢复…

目标检测算法改进系列之Backbone替换为EfficientFormerV2

EfficientFormerV2 随着视觉Transformers(ViTs)在计算机视觉任务中的成功,最近的技术试图优化ViT的性能和复杂性,以实现在移动设备上的高效部署。研究人员提出了多种方法来加速注意力机制,改进低效设计,或…

如何测试接口?首先你得知道如何开发接口。

接口测试:接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。(来自某百科&a…

最全的QgraphicsEffect设置

在Qt中,QGraphicsEffect有四个子类,分别为QGraphicsBlurEffect, QGraphicsColorizeEffect, QGraphicsDropShadowEffect, and QGraphicsOpacityEffect,用于实现模糊、着色、阴影、透明度功能 下面就是对这四种功能以及效果做测试 1.QGraphicsB…

服务器搭建(TCP套接字)-libevent版(服务端)

Libevent 是一个开源的事件驱动库,用于开发高性能、并发的网络应用程序。它提供了跨平台的事件处理和网络编程功能,具有高性能、可扩展性和可移植性。下面详细讲解 Libevent 的主要组成部分和使用方法。 一、事件基础结构(event_base&#x…

26530-2011 地理标志产品 崂山绿茶

声明 本文是学习GB-T 26530-2011 地理标志产品 崂山绿茶. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了崂山绿茶地理标志产品的术语和定义、保护范围、分类、等级和实物标准样、要求、试 验方法、检验规则、标志、标签、包装、…

遥遥领先!探索Amazon CodeWhisperer魔力,你的私人AI编程助手!

本文目录 【前言】一、Amazon CodeWhisperer 功能概览1.1 强大的代码建议1.2 支持多种语言与IDE1.3 安全扫描 二、沉浸式体验使用Amazon CodeWhisperer实战开发代码2.1 Pycharm中快速导入Amazon CodeWhisperer2.2 使用CodeWhisperer快速构建Python代码2.3 Amazon CodeWhisperer…

26049-2010 银包铜粉 阅读笔记

声明 本文是学习GB-T 26049-2010 银包铜粉. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了银包铜粉的要求、试验方法、检验规则、标志、包装、运输、贮存、质量证明书以及合同 (或订货单)内容。 本标准适用于电子、机电、通讯…