【SpringBoot学习07】springboot整合redis和mongodb

1. springboot整合redis

讲解redis之前呢,我想先谈谈NoSQL。这个NoSQL是什么意思呢?从字面来看,No表示否定,NoSQL就是非关系型数据库解决方案,意思就是数据该存存该取取,只是这些数据不放在关系型数据库中了,那放在哪里?自然是一些能够存储数据的其他相关技术中了,比如Redis等。

1.1 什么是redis

Redis是一款采用key-value数据存储格式的内存级NoSQL数据库,重点关注数据存储格式,是key-value格式,也就是键值对的存储形式。与MySQL数据库不同,MySQL数据库有表、有字段、有记录,Redis没有这些东西,就是一个名称对应一个值,并且数据以存储在内存中使用为主。什么叫以存储在内存中为主?其实Redis有它的数据持久化方案,分别是RDB和AOF,但是Redis自身并不是为了数据持久化而生的,主要是在内存中保存数据,加速数据访问的,所以说是一款内存级数据库

1.2 安装并启动redis

安装的过程我就不讲了,我们直接进入redis的安装目录,启动redis
在这里插入图片描述
进入控制台,输入

redis-server.exe redis.windows.conf

在这里插入图片描述
出现以上标志,说明我们的redis已经启动成功。

1.3 整合redis

整合

​ 在进行整合之前先梳理一下整合的思想,springboot整合任何技术其实就是在springboot中使用对应技术的API。如果两个技术没有交集,就不存在整合的概念了。所谓整合其实就是使用springboot技术去管理其他技术,几个问题是躲不掉的。

​ 第一,需要先导入对应技术的坐标,而整合之后,这些坐标都有了一些变化

​ 第二,任何技术通常都会有一些相关的设置信息,整合之后,这些信息如何写,写在哪是一个问题

​ 第三,没有整合之前操作如果是模式A的话,整合之后如果没有给开发者带来一些便捷操作,那整合将毫无意义,所以整合后操作肯定要简化一些,那对应的操作方式自然也有所不同

1.3.1 导入springboot整合redis的starter坐标

springboot整合redis所需要的坐标

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>
1.3.2 进行基础配置

这里我们配置一下端口号,其实也可以省略,因为不进行配置默认端口号就是6379

spring:
  redis:
    host: localhost
    port: 6379
1.3.3 使用springboot整合redis的专用客户端接口操作,此处使用的是RedisTemplate
@SpringBootTest
class RedisApplicationTests {

	@Autowired
	private RedisTemplate redisTemplate;

	@Test
	void setHash(){
		HashOperations ops = redisTemplate.opsForHash();
		ops.put("hx","1","love");
	}

	@Test
	void getHash(){
		HashOperations ops = redisTemplate.opsForHash();
		Object hx = ops.get("hx", "1");
		System.out.println(hx);
		}
	}

先执行set再执行get操作,我们就可以获取键对应的值。
在这里插入图片描述
总结

  1. springboot整合redis步骤
    1. 导入springboot整合redis的starter坐标
    2. 进行基础配置
    3. 使用springboot整合redis的专用客户端接口RedisTemplate操作

2. springboot整合mongodb

使用Redis技术可以有效的提高数据访问速度,但是由于Redis的数据格式单一性,无法操作结构化数据,当操作对象型的数据时,Redis就显得捉襟见肘。在保障访问速度的情况下,如果想操作结构化数据,看来Redis无法满足要求了,此时需要使用全新的数据存储结束来解决此问题

2.1 什么是mongodb

MongoDB是一个开源、高性能、无模式的文档型数据库,它是NoSQL数据库产品中的一种,是最像关系型数据库的非关系型数据库。

​ 上述描述中几个词,其中对于我们最陌生的词是无模式的。什么叫无模式呢?简单说就是作为一款数据库,没有固定的数据存储结构,第一条数据可能有A、B、C一共3个字段,第二条数据可能有D、E、F也是3个字段,第三条数据可能是A、C、E 3个字段,也就是说数据的结构不固定,这就是无模式。有人会说这有什么用啊?灵活,随时变更,不受约束。以下列出了一些可以使用MongoDB作为数据存储的场景,但是并不是必须使用MongoDB的场景:

  • 淘宝用户数据
    • 存储位置:数据库
    • 特征:永久性存储,修改频度极低
  • 游戏装备数据、游戏道具数据
    • 存储位置:数据库、Mongodb
    • 特征:永久性存储与临时存储相结合、修改频度较高
  • 直播数据、打赏数据、粉丝数据
    • 存储位置:数据库、Mongodb
    • 特征:永久性存储与临时存储相结合,修改频度极高

2.2 安装并启动mongodb

windows版安装包下载地址:

https://www.mongodb.com/try/download

打开我们mongodb的安装目录,在上面的文件夹路径输入cmd回车
输入以下指令,启动服务器

mongod --dbpath=…\data\db

注意,启动之前需要在我们mongod安装文件夹新建data文件夹,并在data文件夹中创建db文件夹存放数据。
在这里插入图片描述
启动客户端:另启动命令提示符窗口,输入以下指令

mongo --host=127.0.0.1 --port=27017

在这里插入图片描述
在命令行窗口操作mongodb太繁琐了,因此我们使用一款新的软件进行 操作------robot3t
在这里插入图片描述
这款软件操作跟我们navicat差不多,感兴趣可以去搜索使用一下。

2.3 整合mongodb

整合

​ 使用springboot整合MongDB该如何进行呢?其实springboot为什么使用的开发者这么多,就是因为他的套路几乎完全一样。导入坐标,做配置,使用API接口操作。整合Redis如此,整合MongoDB同样如此。

​ 第一,先导入对应技术的整合starter坐标

​ 第二,配置必要信息

​ 第三,使用提供的API操作即可

2.3.1 导入springboot整合MongoDB的starter坐标
		</dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-data-mongodb</artifactId>
		</dependency>
2.3.2 进行基础配置
spring:
  data:
    mongodb:
      uri: mongodb://localhost/hx
2.3.3 使用springboot整合MongoDB的专用客户端接口MongoTemplate来进行操作
@SpringBootTest
public class mongodbTest {

    @Autowired
    private MongoTemplate mongoTemplate;

    @Test
    public void testMongoTemplate() {

        Book book = new Book();
        book.setId(3);
        book.setName("hx");
        book.setDesc("love you");

        mongoTemplate.insert(book);

    	}
    }

在这里插入图片描述

整合工作到这里就做完了,感觉既熟悉也陌生。熟悉的是这个套路,三板斧,就这三招,导坐标做配置用API操作,陌生的是这个技术,里面具体的操作API可能会不熟悉,有关springboot整合MongoDB我们就讲到这里。有兴趣可以继续学习MongoDB的操作,然后再来这里通过编程的形式操作MongoDB。

总结

  1. springboot整合MongoDB步骤
    1. 导入springboot整合MongoDB的starter坐标
    2. 进行基础配置
    3. 使用springboot整合MongoDB的专用客户端接口MongoTemplate操作
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot整合MyBatis、MongoDBRedis可以分别按照以下步骤进行: 整合MyBatis: 1. 引入MyBatis和MyBatis-SpringBoot-Starter依赖: ```xml <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.22</version> </dependency> ``` 2. 配置数据源: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` 3. 配置MyBatis: ```properties mybatis.mapper-locations=classpath:mapper/*.xml mybatis.type-aliases-package=com.example.demo.entity ``` 4. 编写Mapper接口和SQL映射文件。 整合MongoDB: 1. 引入MongoDB和Spring Data MongoDB依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> ``` 2. 配置MongoDB: ```properties spring.data.mongodb.host=localhost spring.data.mongodb.port=27017 spring.data.mongodb.database=test ``` 3. 编写MongoDB实体类和Repository接口。 整合Redis: 1. 引入Redis和Spring Data Redis依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> ``` 2. 配置Redis: ```properties spring.redis.host=localhost spring.redis.port=6379 spring.redis.password= spring.redis.database=0 ``` 3. 编写Redis操作类。可以使用RedisTemplate或者StringRedisTemplate来操作Redis
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值