01 2024 档案
摘要:官方文档 官网:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html 映射是定义文档及其包含的字段如何存储和索引的过程。 每个文档都是字段的集合,每个字段都有自己的 数据类型。映射数据时,您创建一个映
阅读全文
摘要:分布式集群 单节点集群 我们在包含一个空节点的集群内创建名为 users 的索引,为了演示目的,我们将分配 3个主分片和一份副本(每个主分片拥有一个副本分片) // PUT 请求:http://localhost:1001/users //请求体 { "settings" : { "number_o
阅读全文
摘要:索引 一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部是小写字母),并且当我们要对这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。 在一个集群中,可以定义任意多的索
阅读全文
摘要:ES基础操作 创建索引 通过PUT请求发起操作,对于put请求来说,是有幂等性的,只能发送一次请求,创建成功后再次创建就会报错了。 http://localhost:9200/shopping // 此时创建一个shopping索引的库 // 创建成功后返回如下格式: { "acknowledged
阅读全文
摘要:MyBatis执行流程 读取mybatis-config.xml文件 构建会话工厂sqlSessionFactory 创建会话SqlSession Executor执行器 MappedStatement对象 访问数据库 完整回答: 1、读取MyBatis配置文件:mybatis-config.xml
阅读全文
摘要:Spring框架中的单例bean是线程安全的吗? Spring中的Bean默认是单例模式的,框架并没有对bean进行多线程的封装。所以单例bean是线程不安全的。 如果Bean是有状态的(有状态即有数据存储功能),则需要我们自己来保证线程安全。 最简单的方法即改变Bean作用域,将单例变为原型,即s
阅读全文
摘要:Redis是单线程的,但是为什么还那么快 Redis是纯内存操作,执行速度非常快 采用单线程,避免不必要的上下文切换可竞争条件,多线程还要考虑线程安全问题 使用I/O多路复用模型,非阻塞IO 能解释下I/O多路复用模型? Redis是纯内存操作,执行速度非常快,它的性能瓶颈是网络延迟而不是执行速度,
阅读全文
摘要:惰性删除 概述:当访问Key时,才去判断它是否过期,如果过期,直接干掉。这种方式对CPU很友好,但是一个key如果长期不用,一直存在内存里,会造成内存浪费。 set name xxxx 10 get name // 发现name过期了,直接删除 优点:对CPU友好,只会在使用该key时才会进行过期检
阅读全文
摘要:缓存穿透 概念:查询一个不存在的数据,mysql查询不到数据也不会直接写入缓存,就会导致每次请求查数据库从而使得数据库压力过大,宕机 解决方案一: 缓存空数据,查询返回的数据为空,扔把这个空结果进行缓存例如格式:{key:xxx,value:null} 优点:简单 缺点:消耗内存,可能会发生不一致的
阅读全文