1千w移动设备以及设备模型分各种方式存储到redis实际占用内存大小

1千w移动设备数据以及设备分存储到redis (以安卓为例:IDFA_MD5、OAID_MD5、ANDROID_ID_MD5 总设备码MD5约3000w)实际占用内存

string key value值存储大小(存20个不同来源模型分)

格式1 5.17G

string key 为两种md5拼接之后的20位字符串 
value为20个设备分平铺的字符串

格式2 6.42G

String key MD5code
value json(当前fieldvalue josn)

hash结构存储大小,改成char数组后存储大小

hash结构大小(存20个不同来源模型分) 3.04G

key MD5code crc32之后的10位int 对3000w取模
fieldkey MD5code+:+source crc32之后的10位int
fieldvalue protobuf

10w bucket +hash结构优化(存 3个模型分) 存储大小 785M

key MD5code crc32之后的10位int 对3000w取模
fieldkey MD5code+:+source murmur32之后的10位int
fieldvalue 优化

10w bucket +hash结构优化(存 20个模型分) 存储大小 1.54G

key MD5code crc32之后的10位int 对3000w取模
fieldkey MD5code+:+source murmur32之后的10位int
fieldvalue 优化

少量分桶,直接用hashtable存储大小 4.95G

3个分桶 
key MD5code crc32之后的10位int 对3取模
fieldkey MD5code+:+source crc32之后的10位int
fieldvalue protobuf

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

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

相关文章

ES映射中字段名大小写问题

在Elasticsearch中,字段名(也就是映射中定义的)是区分大小写的。这意味着,如果你在映射中定义了一个字段名为myField,那么你必须在查询和索引文档时精确地使用这个大小写。你不能使用myfield或MYFIELD去查询或索引&…

华为、阿里巴巴、字节跳动 100+ Python 面试问题总结(一)

系列文章目录 个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python面试专栏:《Python面试》此专栏面向准备面试的2024届毕业生。欢迎阅读,一起进步!🌟🌟🌟 …

是否有商品使用过改运费模板

目录 1 添加修改运费模板 2 删除运费模板 3 是否有商品使用过改运费模板 /// <summary> 添加修改运费模板 /// </summary>

华为发布大模型时代AI存储新品

7月14日&#xff0c;华为发布大模型时代AI存储新品&#xff0c;为基础模型训练、行业模型训练&#xff0c;细分场景模型训练推理提供存储最优解&#xff0c;释放AI新动能。 企业在开发及实施大模型应用过程中&#xff0c;面临四大挑战&#xff1a; 首先&#xff0c;数据准备时…

剑指offer刷题笔记--Num41-50

1--数据流中的中位数&#xff08;41&#xff09; 主要思路&#xff1a; 维护两个优先队列&#xff0c;Q1大数优先&#xff0c;存储比中位数小的数&#xff1b;Q2小数优先&#xff0c;存储比中位数大的数&#xff1b; 当存储的数为偶数时&#xff0c;Q1.size() Q2.size(), 中位…

解决github无法拉取submodule子模块的问题

引言 当使用git clone --recursive url 拉取一个配置了子模块的仓库后&#xff0c;会卡住。 同时在使用git clone 拉去https的url时&#xff0c;同样可能会出现一直卡在cloning int reposity...本文提供一个简单的脚本来解决该问题。 前置准备 需要配置好git的相关配置&…

快速配置 Rust 开发环境并编写一个小应用

安装: curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh 更新: Rust 的升级非常频繁. 如果安装 Rustup 后已有一段时间,那么很可能 Rust 版本已经过时, 运行 rustup update 获取最新版本的 Rust rustc&#xff1a;编译Rust程序 rustc只适合简单的Rust程序&#xf…

qt和vue的交互

1、首先在vue项目中引入qwebchannel /******************************************************************************** Copyright (C) 2016 The Qt Company Ltd.** Copyright (C) 2016 Klarlvdalens Datakonsult AB, a KDAB Group company, infokdab.com, author Milian …

记录--再也不用手动改package.json的版本号

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 本文的起因是有在代码仓库发包后&#xff0c;同事问我“为什么package.json 里的版本还是原来的&#xff0c;有没有更新&#xff1f;”&#xff0c;这个时候我意识到&#xff0c;我们完全没有必要在每…

阿里云无影云电脑具体价格_云桌面不同配置1元报价

阿里云无影云电脑配置费用&#xff0c;4核8G企业办公型云电脑可以免费使用3个月&#xff0c;无影云电脑地域不同费用不同&#xff0c;无影云电脑是由云桌面配置、云盘、互联网访问带宽、AD Connector、桌面组共用桌面session等费用组成&#xff0c;阿里云百科分享阿里云无影云电…

什么是分布式软件系统

:什么是分布式软件系统&#xff1f;分布式软件系统是什么意思&#xff1f; 分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分…

Unity 2D骨骼动画+IK反向动力学

本文言简意赅的完成这个流程&#xff0c;废话不多说&#xff01;干&#xff01; 等等&#xff0c;先看看效果 第一步&#xff1a;导入2D Animation包 当前环境&#xff1a;Unity3D 2021(不需要完全一样也可以) 进入unity后点击Window->PackageManager打开如下界面 按Insta…

LangChain 联合创始人下场揭秘:如何用 LangChain 和向量数据库搞定语义搜索?

近期&#xff0c;关于 ChatGPT 的访问量有所下降的消息引发激烈讨论&#xff0c;不过这并不意味着开发者对于 AIGC 的热情有所减弱&#xff0c;例如素有【2023 最潮大语言模型 Web 开发框架】之称的大网红 LangChain 的热度就只增不减。 原因在于 LangChain 作为大模型能力“B2…

流?I/O操作?阻塞?epoll?

流&#xff1f;I/O操作&#xff1f;阻塞&#xff1f;epoll? 一、流&#xff1f;I/O操作? 阻塞&#xff1f; (1) 流 可以进行I/O操作的内核对象文件、管道、套接字……流的入口&#xff1a;文件描述符(fd) (2) I/O操作 所有对流的读写操作&#xff0c;我们都可以称之为IO…

Vue3_简介、CompositionVPI、新的组件

文章目录 Vue3快速上手1.Vue3简介2.Vue3带来了什么1.性能的提升2.源码的升级3.拥抱TypeScript4.新的特性 一、创建Vue3.0工程1.使用 vue-cli 创建2.使用 vite 创建 二、常用 Composition API1.拉开序幕的setup2.ref函数3.reactive函数4.Vue3.0中的响应式原理vue2.x的响应式Vue3…

代码模版-vue使用axios调用请求

文章目录 简介步骤一&#xff1a;安装 axios 依赖步骤二&#xff1a;自己配置请求 request步骤三&#xff1a;在 main.js 中指定 request步骤四&#xff1a;其他组件的 js 的请求 简介 vue 常常使用 axios 包来调用请求 步骤一&#xff1a;安装 axios 依赖 cnpm install --s…

万字长文 | Hadoop 上云: 存算分离架构设计与迁移实践

一面数据原有的技术架构是在线下机房中使用 CDH 构建的大数据集群。自公司成立以来&#xff0c;每年都保持着高速增长&#xff0c;业务的增长带来了数据量的剧增。 在过去几年中&#xff0c;我们按照每 1 到 2 年的规划扩容硬件&#xff0c;但往往在半年之后就不得不再次扩容。…

探索未来:Java在人工智能领域的崛起

在人工智能&#xff08;AI&#xff09;发展的浪潮中&#xff0c;Java作为一种广泛应用的编程语言&#xff0c;正逐渐崭露头角。本文将探讨Java在人工智能领域的应用和发展前景&#xff0c;揭示Java如何适应并推动人工智能技术的创新和普及。 Java与人工智能&#xff1a;从过去到…

《Redis 核心技术与实战》课程学习笔记(八)

String 类型为什么不好用了&#xff1f; String 类型可以保存二进制字节流&#xff0c;只要把数据转成二进制字节数组&#xff0c;就可以保存了。String 类型并不是适用于所有场合的&#xff0c;它有一个明显的短板&#xff0c;就是它保存数据时所消耗的内存空间较多。 为什么…

Unity Shader - SV_POSITION 和 TEXCOORD[N] 的varying 在 fragment shader 中输出的区别

起因 因另一个TA同学问了一个问题 我抱着怀疑的心态&#xff0c;测试了一下 发现 varying 中的 sv_position 和 texcoord 的值再 fragment shader 阶段还真的不一样 而且 sv_position 还不是简单的 clipPos/clipPos.w 的操作 因此我自己做了一个试验&#xff1a; 结果还是不一…