elasticSearch_day01

1. Redis集群

1.1 什么叫集群

多台服务器集中在一起,实现同一业务

1.2 为什么集群

一台服务器不够,需要多台服务器支持,解决高并发,集群往往伴随分布式

2. 分布式

2.1 什么是分布式

分布式: 把整体业务拆分开,分别放到不同的服务

2.2 为什么要分布式

分布式和集群一起使用

便于维护

解决高并发 ,单点故障问题

便于扩容

3. Redis集群

3.1 为什么需要集群

(1)解决单点故障

(2)处理高并发

(3)处理大数据(高并发) --解决存储问题

3.2 集群方案的选择

(1)主从复制 (读写分离 主从同步)

优点:

支持主从复制,主机会自动将数据同步到从机,可以进行读写分离

缺点:

Redis不具备自动容错和恢复功能,如果想具备自动重起 ,需要安装插件

(2)哨兵模式

自动化的系统监控和故障恢复功能

优点:

主从复制优点都在, 通过哨兵自动恢复

缺点:

比较难扩容,服务占用空间比较多

(3)Redis-Cluster集群

redis的分布式存储,也就是说每台redis节点上存储不同的内容

优点:

上面有都有,解决分布式存储问题 ,容错问题

4. elasticSearch是什么

4.1ES的概念和特点

ES是什么?

es (elasticSearch): 全文检索的框架,专门做搜索,支持分布式,集群

es:全文检索的框架 --封装lucene的,支持分布式(集群) --特点

(1)原生Lucene使用的不足,优化Lucene的调用方式

(2)高可用的分布式集群 ,处理PB级别数据

1024KB -- 1MB

1024MB -- 1GB

1024GB -- 1TB

1024TB - 1PB

(3)它的目的是通过简单的 RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。达到开箱即用的效果

lucene:全文检索 -- api的比较麻烦 操作全文检索的最底层技术

核心: 创建索引 搜索索引

4.2 ES的对手

Solr和ES区别:

(1)Solr重量级, 支持很多种类型操作,支持分布式式,它里面有很多功能,但是在实时领域上面,没有es好

(2)Es 轻量级, 支持json的操作格式, 在实时搜索领域里面做的不错,]如果想使用其他的功能,需要额外安装插件

5. ES的使用

ES 分为服务端 和 客户端

(1)ES服务端

解压 -->bin/elasticsearch.bat -->localhost:9200

a)配置内存:

config/jvm.options

-Xmx1g

-Xms1g

b)健康状态:

green(最健康) -->主分片和从分片(存储内容)都完好,集群是100%健康

yellow -->主分片好的,从分片至少缺少一个,集群还是可以使用,

red -->至少一个主分片以及它的全部副本都在缺失中。这意味着你在缺少数据

(2)ES客户端--navicat

restfull风格 ---> GET/POST/DELETE/PUT shop/goods/1

GET shop/goods/1 -->查询shop这个库goods表 1这条数据

PUT shop/goods {"name":"111"}

POST shop/goods {"name":"111"}

DELETE shop/goods/1

1)postman +head

2)curl-->在firefox安装poster插件

3)Kibana5 -->es

6. 文档的crud

6.1 基本的crud操作

# 新增

PUT  crm/employee/1

{

"name":"xiaorong",

"age":18

}

# 修改 --整个文档

POST crm/employee/1

{

"name":"xiaohuahua"

}

# 修改局部文档

POST crm/employee/1/_update

{

"doc":{"name":"xiaohuahua"}

}

# 查询

GET crm/employee/1

# 删除

DELETE crm/employee/1

6.2 特殊的用法

# 展示没有什么效果(了解)

GET crm/employee/AW-tOSHILqo6XVH8f6cg?pretty

# 展示部分的字段

GET crm/employee/AW-tOSHILqo6XVH8f6cg?_source=age,name

# 返回元数据

GET crm/employee/AW-tOSHILqo6XVH8f6cg/_source

# 修改数据 (脚本修改 --了解)

POST crm/employee/AW-tOSHILqo6XVH8f6cg/_update

{

"script" : "ctx._source.age += 5"

}

# 批量新增 --了解

POST _bulk

{ "delete": { "_index": "itsource", "_type": "employee", "_id": "123" }}

{ "create": { "_index": "itsource", "_type": "blog", "_id": "123" }}

{ "title": "我发布的博客111" }

{ "index": { "_index": "itsource", "_type": "blog" }}

{ "title": "我的第二博客2222" }

GET itsource/blog/_search

6.3 文档的查询

1. 通过id查询

GET crm/employee/AW-tOSHILqo6XVH8f6cg(id)/_source

1. 批量查询

#  不同库 不同表数据 (了解)

GET _mget

{

"docs" : [

{

"_index" : "itsource",

"_type" : "blog",

"_id" : "123"

},

{

"_index" : "crm",

"_type" : "employee",

"_id" : "AW-tOSHILqo6XVH8f6cg",

"_source": ["name","age"]

}

]

}

#  同一个库 同一个表数据

GET itsource/blog/_mget

{

"ids":["123","AW-tQP_4Lqo6XVH8f6ci"]

}

2. 其他查询

# 分页查询

GET crm/employee/_search?size=3&from=6

# 带条件查询

GET crm/employee/_search?q=age:38

GET crm/employee/_search?q=age[18 TO 48]

redis集群&elasticSearch的认识的更多相关文章

  1. Elastic Stack之Redis集群使用

    Elastic Stack之Redis集群使用 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客数据流走向:FileBeat ===>Redis  ===>lo ...

  2. filebeat收集日志传输到Redis集群,logstash从Redis集群中拉取数据

    前提:已配置好Redis集群,并设置的有统一的访问密码 架构是filebeat-->redis集群-->logstash->elasticsearch,需要修改filebeat的输出 ...

  3. Redis集群搭建采坑总结

    背景 先澄清一下,整个过程问题都不是我解决的,我在里面就是起了个打酱油的角色.因为实际上我负责这个项目,整个过程也比较清楚.之前也跟具体负责的同事说过,等过段时间带他做做项目复盘.结果一直忙,之前做的 ...

  4. 架构师之路-redis集群解析

    引子 上篇<架构师之路-https底层原理>里我提到了上面的整体视图,文章也介绍了想要真正能在工作中及时正确解决问题的基本功:原理理解透彻.今天以redis集群解析为例介绍一个及时敏锐的发 ...

  5. Docker-生成镜像、服务搭建(redis集群、kibana、运行项目jar包)、上传镜像至阿里云

    目录 生成自己的镜像 1.下载官方tomcat镜像 2.运行镜像后将webapp目录里新增文件(官方镜像是没有页面的 具体操作见) 3.使用docker ps -a 查看刚刚修改后的容器id 4.执行 ...

  6. Redis集群案例与场景分析

    1.背景 Redis的出现确实大大地提高系统大并发能力支撑的可能性,转眼间Redis的最新版本已经是3.X版本了,但我们的系统依然继续跑着2.8,并很好地支撑着我们当前每天5亿访问量的应用系统.想当年 ...

  7. Java Spring mvc 操作 Redis 及 Redis 集群

    本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 R ...

  8. Redis集群搭建与简单使用

    介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. 两台虚拟机都是 CentOS ,一台 ...

  9. window下使用Redis Cluster部署Redis集群

    日常的项目很多时候都需要用到缓存.redis算是一个比较好的选择.一般情况下做一个主从就可以满足一些比较小的项目需要.在一些并发量比较大的项目可能就需要用到集群了,redis在Windows下做集群可 ...

随机推荐

  1. git看这一篇就够用了

    前言 本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程. Git是什么 官方话:Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事务 ...

  2. javaIO笔记

    原创 File类 实例化 new File(path); File.separator 分隔符 创建文件的常规做法

  3. 今天更新IDEA后,我依旧要永久激活(支持2019.3.3版本)

    起因 今天一早用IDEA写代码,看到有下角有提示更新,有点强迫症的我,就手欠的又点了下更新,结果尼玛悲剧了,居然许可证过期,IDEA过期了,如下图所示: 就想用下新功能,就这样对我,就给两天的使用时间 ...

  4. 关于RiscV的一些资料整理

    1. 基于RISC-V架构的开源处理器及SoC研究综述 https://mp.weixin.qq.com/s/qSD-q8y0_MY8R0MBA85ZZg 原文链接: https://blog.csd ...

  5. NetworkX包

    官方教程 NetworkX是一个创建,操作,研究复杂网络的结构,动态,功能的python包. #创建一个network import networkx as nx G = nx.Graph() #no ...

  6. JMeter之If Controller深究一

    1.背景 大家最近还好么,截止目前新型冠状病毒累计确诊病例已超7万4千多例,希望大家无论是在家办公还是单位办公,一定要注意自我防护.今天跟大家分享一下,最近一次真实生产压测遇到的问题,如题:if co ...

  7. Golang-执行go get私有库提示”410 Gone“ 解决办法

    之前没有使用过私有库,今天正好碰到,把解决方法整理一下 错误记录 如果你在用go get 私有库碰到如下类似错误: 解决方法 $ export GO111MODULE=on $ export GOPR ...

  8. Import This - The Zen of Python

    The Zen of Python -- by Tim Peters Beautiful is better than ugly.Explicit is better than implicit.Si ...

  9. 小程序websocket心跳库——websocket-heartbeat-miniprogram

    前言 在16年的时候因为项目接触到websocket,而后对心跳重连做了一次总结,写了篇博客,而后18年对之前github上的demo代码进行了再次开发和开源,最终封装成库.如下: 博客:https: ...

  10. 将win10激活为专业工作站版并且永久激活(图文详细教程)

    简介 win10升级为专业版.教育版.专业工作站版永久激活详细图文教程(注:只要使用相对应的产品密钥,所有的版本都可以激活) win10家庭版其实就是阉割版,越来越多的人想升级为专业版.很多电脑用户选 ...