SpringBoot-Elasticsearch搜索
一、ElasticSearch 简介1、简介ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多员工能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 语言开发的,并作为 Apache 许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch 用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
2、特性
分布式的文档存储引擎
分布式的搜索引擎和分析引擎
分布式,支持 PB 级数据
3、使用场景
搜索领域:如百度、谷歌,全文检索等。
门户网站:访问统计、文章点赞、留言评论等。
广告推广:记录员工行为数据、消费趋势、员工群体进行定制推广等。
信息采集:记录应用的埋点数据、访问日志数据等,方便大数据进行分析。
二、ElasticSearch 基础概念1、ElaticSearch 和 DB 的关系在 Elasticsearch 中,文档归属于一种类型 type,而这些类型存在于索引 index 中,可以列一些简单的不同点,来类比传统关系型数据库:
Relation ...
SpringBoot-整合Redis
Redis 概述什么是 RedisRedis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD 许可)高性能非关系型(NoSQL)的键值对数据库。
Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、散列表、集合、有序集合。与传统数据库不同的是 Redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向,每秒可以处理超过 10 万次读写操作,是已知性能最快的 Key-Value DB。另外,Redis 也经常用来做分布式锁。除此之外,Redis 支持事务 、持久化、LUA 脚本、LRU 驱动事件、多种集群方案。
Redis 有哪些优缺点优点
读写性能优异, Redis 能读的速度是 110000 次 / s,写的速度是 81000 次 / s。
支持数据持久化,支持 AOF 和 RDB 两种持久化方式。
数据结构丰富,除了支持 string 类型的 value 外还支持 hash、set、zset、list 等数据结构。
支持主从复制,主机会自动 ...
分布式消息中间件-概述
1. 单体架构
2. 分布式系统架构
3. 基于消息中间件的分布式系统架构
4. 消息中间件概述
1. 什么是消息中间件
利用高效可靠的消息传递机制进行平台无关的数据交流。
并基于数据通信来进行分布式系统的集成。
通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。
2. 消息中间件的应用场景
跨系统数据传递。
高并发流量削峰。
数据异步处理。
…
3. 常用的消息中间件
ActiveMQ
RabbitMQ
Kafka
RocketMQ
5. 消息中间件核心设计
1. 本质
一种具有接收数据、保存数据、发送数据等功能的网络应用。
和一般网络应用程序的区别是它主要负责数据的接收和传递,所以性能一般都高于普通程序。
2. 5 大核心组成
协议
持久化机制
消息分发机制
高可用设计
高可靠设计
6. 协议
1. 协议是什么
协议是计算机之间通信时共同遵守的一组约定,都遵守相同的约定,计算机之间才能相互交流。
是对数据格式和计算机之间交互数据时必须遵守的规则的正式描述。
协议三要素:
语法:即数据与控制信息的结构或格式;
语义:即需要发出何种控制信息,完成 ...
Redis: 数据结构与模板类
1. Redis 有多少种数据结构?主要有 5 种 Redis 对象,分别是 String、List、Hash、Set、Zset,这里的对象都指的是 Value 部分。底层实现依托于 sds、ziplist、skiplist、dict 等更基础的数据结构。
2. String(字符串)2.1 简单介绍字符串类型是 Redis 最基础的数据结构,字符串类型可以是JSON、XML甚至是二进制的图片等数据,但是最大值不能超过512MB。在 Redis 中,String 是可以修改的,称为动态字符串(Simple Dynamic String简称SDS),说是字符串但它的内部结构更像是一个ArrayList,内部维护着一个字节数组,并且在其内部预分配了一定的空间,以减少内存的频繁分配。Redis的内存分配机制是这样:
当字符串的长度小于 1MB 时,每次扩容都是加倍现有的空间。
如果字符串长度超过 1MB 时,每次扩容时只会扩展 1MB 的空间。
这样既保证了内存空间够用,还不至于造成内存的浪费,字符串最大长度为**512MB**。分析一下 SDS 的数据结构:
123456struc ...