当前位置: 首页 > news >正文

windows安装Redis,Mongo,ES并快速基本掌握开发流程

前言

这里只是一些安装后的基础操作,后期会学习更加深入的操作

基础操作

  • 前言
  • Redis
    • Redis启动
    • idea集成Redis
    • jedis技术
  • Mongodb
    • windows版Mongodb的安装
    • idea整合Mongodb
  • ES(Elasticsearch)
    • ESwindows下载
    • ES文档操作
    • idea整合ES
      • 低级别ES整合
      • 高级别ES整合

Redis

Redis是一款基于Key-value存储结构的内存级NoSQL数据库
特点:

  1. 支持多种数据存储格式
  2. 支持持久化
  3. 支持集群

首先下载windows版本的Redis
下载地址:https://github.com/tporadowski/redis/releases
安装完成之后进行启动

Redis启动

服务端启动命令:

redis-server.exe redis.windows.conf

客户端启动命令:

redis-cli.exe	

在这里插入图片描述
输入完成后会出现问题,这时windows版本下的一个bug
这里先输入:
在这里插入图片描述
输入完成后再次输入上述操作:
在这里插入图片描述
启动成功,在其中设置key-value并查询key-value
在这里插入图片描述
还可以将多个key-value写入到一个key中

idea集成Redis

在这里插入图片描述
在idea集成了Redis之后,需要告知idea使用的Redis的地址才行,这就需要在配置文件中进行配置

spring:data:redis:host: localhostport: 6379

在操作是通过接口对象Redistemplate进行操作
操作之前需要通过ops*获取各种数据类型操作接口

    @Autowiredprivate RedisTemplate redisTemplate;@Testvoid set() {//因为Redis支持多种存储结构,所以需要先指定Redis的存储结构ValueOperations ops = redisTemplate.opsForValue();ops.set("age",2);}@Testvoid get(){ValueOperations ops = redisTemplate.opsForValue();ops.get("age");}@Testvoid hset(){HashOperations hashOperations = redisTemplate.opsForHash();hashOperations.put("nihao","a","aa");}@Testvoid hget(){HashOperations hashOperations = redisTemplate.opsForHash();Object o = hashOperations.get("nihao", "a");}

注意:操作Redis的客户端可以使用redisTemplate和StringRedisTemplate两个接口,但是redisTemplate是以对象的形式范围数据,而stringRedisTemplate是以字符串的形式返回数据
客户端:StringRedisTemplate以字符串作为key和value,与Redis客户端操作等效

jedis技术

一般系统默认使用的是lettuce技术,如果要使用jedis技术需要引入依赖:

        <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId></dependency>

需要在配置文件中对client的类型进行配置

client-type: jedis

lettcus与jedis区别:

  1. jdis连接Redis服务器是直连模式,当多线程模式下使用jedis会存在线程安全问题,解决方案可以通过配置连接池使每个连接专用,这样整体性能就大受影响
  2. lettcus基于Netty框架进行与Redis服务器连接,底层设计中采用StatefulRedisConnection,它自身是线程安全的,可以保障并发访问安全问题,所以一个连接可以被多线程复用,当然lettcus也支持多连接实例一起工作

Mongodb

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

使用场景:
像比如说在直播数据的处理中,有部分数据变化的速度非常的快,这部分数据就不适合在数据库中进行操作,应该临时存储,所以用到永久性存储和临时存储相结合,修改频度极高
还有比如停车场的状态信息这些变化频度高的临时数据都可以在Mongodb中进行存储

windows版Mongodb的安装

下载地址:https://www.mongodb.com/try/download
windows版Mongo启动:
服务端启动:

mongod --dbpath=..\data\db

客户端启动:

mongo --host=127.0.0.1 --port=27017

启动的是服务端,进行数据库的初始化
在这里插入图片描述
启动客户端
在这里插入图片描述
当在下载过程中出现如下问题:
在这里插入图片描述
可以通过如下步骤进行解决:

  1. 下载对应的dll文件(通过互联网搜索即可)
  2. 拷贝到windows安装路径下的system32目录中
  3. 执行命令注册对应的dll文件
regsvr32 vcruntime140_1.dll
  • Mongodb的基础操作
    在这里插入图片描述
  • 基础查询

基础查询

  • 条件查询
    在这里插入图片描述

idea整合Mongodb

创建项目:
创建项目
在配置文件中进行配置

spring:data:mongodb:uri: mongodb://localhost/库名

在测试类中进行测试:

@Autowired
private MongoTemplate mongotemplate;
//使用对象进行对应的操作

ES(Elasticsearch)

Elasticsearch是一个分布式全文搜索引擎

将数据库中的数据进行分词,通过个别词进行查询,查询出对应的id,将与之匹配的部分信息保存到文档之中,加速查询的效率

ESwindows下载

下载地址:https://www.elastic.co/cn/downloads/elasticsearch

  • 启动

运行 elasticsearch.bat

ik分词器下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
将分词器的压缩包粘贴到plugins目录下进行解压并重新启动ES

  • ES基本操作
    ES操作
    创建索引并指定规则:
    在这里插入图片描述

ES文档操作

  • 创建文档
    在这里插入图片描述
    在这里插入图片描述
  • 查询文档
    在这里插入图片描述
  • 条件查询

在这里插入图片描述

  • 删除文档
    在这里插入图片描述
  • 修改文档(全量修改)
    在这里插入图片描述
  • 修改文档(部分修改)
    在这里插入图片描述

idea整合ES

低级别ES整合

导入坐标依赖:

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

再通过配置文件进行配置:

spring:elasticsearch:rest:uris: http://localhost:9200

进行相应的操作:

@Autowired
private ElasticsearRestTemplate template;

高级别ES整合

随着ES版本的不断更新迭代,推出高级别操作
导入依赖:

        <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId></dependency>

需要手动创建客户端

private RestHighLevelClient client;
@Test
void test()throws IOExption{
HttpHost host=HttpHost.create("http://localhost:9200");
RestClientBuilder builder=RestClient.builder(host);
client=new RestHighLevelClient(builder);
//客户端操作
CreateIndexRequest request=new CreateIndexRequest("books");
//获取操作索引的客户端对象,调用创建索引操作
client.indices().create(request,RequestOptions.DEFAULT);
client.close();
}
http://www.lryc.cn/news/335990.html

相关文章:

  • ruoyi-nbcio-plus基于vue3的flowable的自定义业务提交申请组件的升级修改
  • 掌握网络抓取技术:利用RobotRules库的Perl下载器一览小红书的世界
  • 典型新能源汽车热管理系统方案分析
  • 使用Docker部署开源项目FreeGPT35来免费调用ChatGPT3.5 API
  • 《Linux运维实战:Kylin V10操作系统开启安装软件保留缓存设置》
  • 视频生成技术:从GAN到Latte
  • 机器学习中的激活函数
  • LinuxAndroid: 旋转编码器input输入事件适配(旋转输入)
  • 机器学习和深度学习-- 李宏毅(笔记与个人理解)Day10
  • perl 交叉编译
  • 浅谈.版本管理工具
  • 【汇编语言实战】已知10个整数求最大值
  • 在 CentOS 7 上安装 Redis
  • 『51单片机』蜂鸣器
  • 计算机视觉 | 基于二值图像数字矩阵的距离变换算法
  • Arcgis windows webadaptor配置
  • 对接阿里云实时语音转文字的思路
  • 如何转行成为产品经理?
  • SpringCloudAlibaba-整合nacos(二)
  • STM32H7通用定时器计数功能的使用
  • 信息系统项目管理师0044:IT治理方法与标准(3信息系统治理—3.1 IT治理—3.1.4 IT治理方法与标准)
  • 探索Linux:在VMware虚拟机上安装Linux操作系统
  • JavaScript进阶6之函数式编程与ES6ESNext规范
  • AcWing 1381. 阶乘
  • Leetcode 394. 字符串解码
  • LeetCode - 1702. 修改后的最大二进制字符串
  • 虹科Pico汽车示波器 | 免拆诊断案例 | 2011款东风悦达起亚K5车发动机偶尔起动困难
  • Docker- Redis
  • Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之八 简单视频素描效果
  • 数据结构——线性表(链式存储结构)