Redis在中国火爆,为何MongoDB更受欢迎国外?

一、概念

  • Redis

Redis(Remote Dictionary Server)是一个使用ANSI C编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库。Redis是由Salvatore Sanfilippo于2009年启动开发的,首个版本于同年5月发布。

  • MongoDB

MongoDB是一种面向文档的数据库管理系统,用C++等语言撰写而成,以解决应用程序开发社区中的大量现实问题。MongoDB由MongoDB Inc.(当时是10gen团队)于2007年10月开发,2009年2月首度推出,现以服务器端公共许可(SSPL)分发。

二、数据

2.1、Github Star

  • Redis

Redis的GitHub仓库是github.com/redis/redis,截至2024年2月,它的星数是63.5k。

  • MongoDB

MongoDB的GitHub仓库是github.com/mongodb/mongo,截至2024年2月,它的星数是25.1k。

2.2、DB-Engines Ranking

DB-Engines Ranking是一个数据库管理系统(DBMS)的排名系统,它基于多种指标来评估数据库的受欢迎程度和趋势。DB-Engines Ranking通过整合各种来源的数据,包括搜索引擎查询、社交媒体活动、开发者论坛和问答网站的讨论等,来计算数据库管理系统的排名。

2.3、Google Trends

  • 全球数据对比

全球数据可以看到mongodb高出redis不少。

  • 国内数据对比

国内redis明显高于mongodb,当然也有不少国家是类似的情况。

三、总结

  • Redis的数据存储主要依赖于内存,因此其存储容量受到物理内存的限制。虽然支持持久化机制,但主要是为了保障数据的持久性。
  • Redis适合于数据量相对较小需要快速读写的场景,如缓存、实时计数等。

VS

  • MongoDB的数据存储基于磁盘,可以存储比内存更大容量的数据。它更适合存储大规模数据集,数据可以超出物理内存容量。
  • MongoDB适合需要复杂查询和大规模数据存储的场景,如Web应用、分析、内容管理等。

个人感觉:

在Google Trends的数据中,可以观察到美国更偏向于使用MongoDB而非Redis。美国的互联网行业更为成熟,规模更大,对于数据库的要求更加多元化,尤其是在处理复杂和非结构化数据方面有更强的需求。MongoDB的功能更接近传统关系型数据库,这使得它更容易被开发者接受和应用。

而在中国的Google Trends数据中,Redis的搜索热度高于MongoDB。这主要是因为中国互联网行业发展迅猛,对于简单、规模相对较小、高并发和高性能的数据库需求更为迫切。作为一款内存型数据库,Redis能够提供更快的响应速度和更低的延迟,因此在中国市场更受欢迎和青睐。

中国的互联网公司主要是中小型企业,规模相对较小。这些公司更倾向于采用快速、简单易用的数据库解决方案。Redis是一款非常简便易用的数据库,易于学习和操作。

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

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

相关文章

C++练手题

第 1 题 【 问答题 】 • 红与黑 有一间长方形的房子, 地上铺了红色、 黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上, 只能向相邻的黑色瓷砖移动。 请写一个程序, 计算你总共能够到达多少块黑色的瓷砖。 时间限制: 1000…

基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析

在自然和社会科学领域有大量与地理或空间有关的数据,这一类数据一般具有严重的空间异质性,而通常的统计学方法并不能处理空间异质性,因而对此类型的数据无能为力。以地理加权回归为基础的一系列方法:经典地理加权回归,…

Linux相关小技巧《三》

需求: 前一段时间有收到这样的一个关于linux用户的权限相关的需求,在centos上给用户创建一个用SSH的密钥访问服务器,另给该用户添加到root权限组。记录下了步骤,分享给大家。 步骤: 添加root用户组: gr…

跳跃游戏问题(算法村第十七关黄金挑战)

跳跃游戏 55. 跳跃游戏 - 力扣(LeetCode) 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true &…

人工智能-零基础

机缘 扩充下知识栈,准备零基础开始 人工智能零基础 日常 日常水一下博客… 憧憬 努力成为一个会人工智能的程序员

软考笔记--构件与软件复用

构件也称为组件(component),是一个功能相对独立的具有可复用价值的软件单元。在面向对象的方法中,一个构件有一组对象组成,包含可一些协作的类的集成,它们协同工作来提供一种系统功能。可复用性是指系统和其…

138.乐理基础-等音、等音程的意义

上一个内容:137.乐理基础-协和音程、不协和音程 上一个内容里练习的答案: 等音、等音程的意义,首先在 19.音阶 里写了,一个调使用的音阶应当是从主音快开始,以阶梯状的形式进行到主音结束,这样才能明显从乐…

在docker中运行 pip 报错 Can‘t start new thread

原因源头 stackoverflowhis is because the default seccomp profile of Docker 20.10.9 is not adjusted to support the clone() syscall wrapper of glibc 2.34 adopted in Ubuntu 21.10 and Fedora 35.由于docker 版本与最新版 python 容器冲突导致 解决方案 以下三种方…

b站小土堆pytorch学习记录—— P16 神经网络的基本骨架 nn.Module的使用

文章目录 一、前置知识1.nn是什么2.nn如何使用 二、代码 一、前置知识 1.nn是什么 在深度学习中,“nn” 通常是指神经网络(Neural Network)的缩写。神经网络是一种由大量神经元(neurons)相互连接而成的模型&#xff…

【Python】成功解决TypeError: list indices must be integers or slices, not float

【Python】成功解决TypeError: list indices must be integers or slices, not float 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&…

vue 打包配置

vue打包配置记录一下 publicPath: 打包的路径 默认值:/(根目录); 任意路径:""或者"./" (相对路径) 参照:Vue CLI4.0 webpack配置属性——publicPath_publicpath怎么写相对路径-CSDN…

springboot读取自定义配置

springboot读取自定义配置 application.yml自定义配置 my-app:ip1:#dmz1 ftp服务器ipAddress: 172.12.23.456port: 21username: adminpassword: adminip2:ipAddress: 172.12.23.457port: 21username: adminpassword: admin方式1,Value注解 Component public clas…

两天学会微服务网关Gateway-Gateway工作原理

锋哥原创的微服务网关Gateway视频教程: Gateway微服务网关视频教程(无废话版)_哔哩哔哩_bilibiliGateway微服务网关视频教程(无废话版)共计17条视频,包括:1_Gateway简介、2_Gateway工作原理、3…

【网站项目】144校园二手物品交易平台

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

FRM模型十四:FRA估值

什么是FRA FRA(Forward rate agrreement)远期利率协议,是一种场外衍生品。FRA在0时刻确定,在未来时刻进行交易的协议。例如FRA3,6表示双方约定在3个月后以Rk的利率水平借款3个月。 应用场景:某公司未来3个月有融资需…

XWPFTemplate:基于Apache POI的Word文档模板引擎

1. 前言 在Java领域中,处理Office文档是一项常见的需求,尤其是对于生成报告、合同或其他结构化文档。Apache POI是一个广泛使用的库,用于读写Microsoft Office格式文件(包括Word、Excel等)。然而,直接操作…

Kotlin 中编写静态方法的方式详解

在 Kotlin 中,与 Java 不同,没有 static 关键字来定义静态方法。但是 Kotlin 提供了一种类似的机制来实现静态方法。本文将介绍 Kotlin 中编写静态方法的两种方式,并给出 Kotlin 和 Java 中的调用示例代码。 方式一:使用顶层函数…

Vue 3 中的 $emit 函数是如何工作的

在 Vue.js 框架中,组件间的通信是一个核心概念。Vue 提供了多种方式来实现父子组件间的通信,其中 $emit 是子组件向父组件发送消息的一种常用手段。在 Vue 3 中,随着 Composition API 的引入,$emit 的使用方式也发生了一些变化&am…

[HackMyVM] 靶场 Wave

kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 (Un…

OpenCV:开源计算机视觉的魔力之门

在当今这个信息爆炸的时代,图像和视频已经成为我们获取和传递信息的主要方式之一。从社交媒体上的照片分享,到安防监控、自动驾驶等领域的图像识别与处理,计算机视觉技术正日益改变着我们的生活。而在这场技术革命中,OpenCV(Open Source Computer Vision Library)这一开源…