springboot下MongoDB的curd及MongoDB,Redis,MySQL的选择

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: # 何时使用Redis,MySQL和MongoDBMongoDB,MySQL和Redis都是可用于存储和管理数据的数据库管理系统。这些系统中的每一个都有其独特的特性和功能,具体选择哪一种数据库,取决于具体需求的要求。以下是何时使用这些数据库管理系统的一些一般准则:- MongoDB:MongoDB是一个NoSQL数据库系统,这意味着它旨在处理大量的非结构化数据。它特别适合存储不适合表的数据,例如具有嵌套结构的数据或经常更改的数据。MongoDB还以其水平可扩展性而闻名,这意味着它可以轻松处理大量数据而不会牺牲性能。- MySQL:MySQL是一种流行的关系数据库管理系统。

何时使用Redis,MySQL和MongoDB

MongoDB,MySQL和Redis都是可用于存储和管理数据的数据库管理系统。这些系统中的每一个都有其独特的特性和功能,具体选择哪一种数据库,取决于具体需求的要求。

以下是何时使用这些数据库管理系统的一些一般准则:

  • MongoDB:MongoDB是一个NoSQL数据库系统,这意味着它旨在处理大量的非结构化数据。它特别适合存储不适合表的数据,例如具有嵌套结构的数据或经常更改的数据。MongoDB还以其水平可扩展性而闻名,这意味着它可以轻松处理大量数据而不会牺牲性能。
  • MySQL:MySQL是一种流行的关系数据库管理系统。它旨在将数据存储在表中,行表示记录,列表示字段。MySQL 非常适合需要结构化、表格数据模型并支持复杂查询的项目。它还以其可靠性和性能而闻名,使其成为关键任务应用的理想选择。
  • Redis:Redis 是一种内存数据存储,通常用作缓存或消息代理。它特别适合存储经常访问或更新的数据,因为它可以非常快速地检索和更新数据。Redis 还以其灵活性和对各种数据结构的支持而闻名,包括字符串、哈希、列表和集合。

一般来说,MongoDB是存储大量非结构化数据的不错选择,MySQL是结构化数据和复杂查询的不错选择,Redis是存储频繁访问的数据和支持实时应用的不错选择。最终,您项目的最佳选择将取决于您的特定需求和要求。

入门MongoDB

依赖的导入

在依赖jar包的导入上,我们采用Maven项目管理的方式完成导入

下面是在Maven中导入所需的jar包的依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

配置

通过在文件中指定主机名和端口来配置与 MongoDB 实例的连接

application.properties示例:

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017

当然我个人比较喜欢yml

下面是application.yml的配置示例:

spring:
  data:
    mongodb:
      uri: mongodb://localhost:27017/your_database_name
      host: localhost
      port: 27017
      database: your_database_name
      username: your_username
      password: your_password

最后,我们通过一个简单的例子来实现简单的基于MongoDB的curd

@Service
public class ExampleService {
    private final ExampleRepository repository;

    @Autowired
    public ExampleService(ExampleRepository repository) {
        this.repository = repository;
    }

    public ExampleObject save(ExampleObject object) {
        return repository.save(object);
    }

    public List<ExampleObject> findAll() {
        return repository.findAll();
    }

    public ExampleObject findById(String id) {
        return repository.findById(id).orElse(null);
    }

    public void deleteById(String id) {
        repository.deleteById(id);
    }
}
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
12天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
73 26
|
1月前
|
缓存 NoSQL 关系型数据库
Redis和Mysql如何保证数据⼀致?
在项目中,为了解决Redis与Mysql的数据一致性问题,我们采用了多种策略:对于低一致性要求的数据,不做特别处理;时效性数据通过设置缓存过期时间来减少不一致风险;高一致性但时效性要求不高的数据,利用MQ异步同步确保最终一致性;而对一致性和时效性都有高要求的数据,则采用分布式事务(如Seata TCC模式)来保障。
64 14
|
29天前
|
存储 NoSQL 关系型数据库
MySQL和Redis的区别
**MySQL和Redis的区别** MySQL和Redis都是流行的数据存储解决方案,但它们在设计、用途和特性上有显著区别。理解这些区别有助于选择合适的数据库来满足不同的应用需求。本文将详细介绍MySQL和Redis的区别,包括它们的架构、使用场景、性能和其他关键特性。 ### 一、基本概述 **MySQL**: MySQL是一个关系型数据库管理系统(RDBMS),使用结构化查询语言(SQL)进行数据管理。它支持事务、复杂查询和多种存储引擎,广泛应用于各种Web应用、企业系统和数据分析项目。 **Redis**: Redis是一个基于内存的键值数据库,通常被称为NoSQL数
70 4
|
1月前
|
分布式计算 关系型数据库 MySQL
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型 图像处理 光通信 分布式计算 算法语言 信息技术 计算机应用
55 8
|
1月前
|
SQL NoSQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(13)作者——LJS[你个小黑子这都还学不会嘛?你是真爱粉嘛?真是的 ~;以后请别侮辱我家鸽鸽]
MYSQL日志之详解如何配置查看二进制、查询及慢查询日志;备份与恢复等具体详解步骤;举例说明、注意点及常见报错问题所对应的解决方法
2024Mysql And Redis基础与进阶操作系列(13)作者——LJS[你个小黑子这都还学不会嘛?你是真爱粉嘛?真是的 ~;以后请别侮辱我家鸽鸽]
|
1月前
|
存储 SQL NoSQL
|
1月前
|
存储 SQL NoSQL
2024Mysql And Redis基础与进阶操作系列(10)作者——LJS[你个IKUN还学不会嘛?你是真爱粉嘛?真是的 ~;以后别侮辱我家鸽鸽]
Mysql And Redis基础与进阶操作系列之存储函数和MySQL 触发器等具体举例以及详解步骤;注意点及常见报错问题所对应的解决方法]
|
1月前
|
NoSQL 关系型数据库 MySQL
2024Mysql And Redis基础与进阶操作系列(8)作者——LJS[含MySQL 创建、修改、跟新、重命名、删除视图等具体详步骤;注意点及常见报错问题所对应的解决方法]
MySQL 创建、修改、跟新、重命名、删除视图等具体详步骤;举例说明注意点及常见报错问题所对应的解决方法
|
SQL XML 前端开发
springboot项目 CURD-资源站
springboot项目 CURD-资源站 项目截图 一:整合springboot和mybatis 1.1其他依赖 1.2项目目录 1.3数据库 二:前端部分 2.1 项目文件截图 2.2 static的相关资源文件 2.2.1css文件 2.2.2images文件 2.2.2 js文件 2.3 前端视图的相关资源文件 三 后端部分 3.1pojo 3.2mapper 3.3Service 3.4Controller
239 0
springboot项目 CURD-资源站
|
2月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
178 1
下一篇
DataWorks