数据结构与算法

ES近义词匹配

ES近义词匹配 ES近义词匹配搜索需要用户提供一张满足相应格式的近义词表,并在创建索引时设计将该表放入settings中。 近义词表的可以直接以字符串的形式写入settings中也可以放入文本文件中,由es读取。 近义词表格式 近义词表需要满足以下格式要求: A => B,C格式 这种格式在搜索时会将搜索词A替换成B、C,且B,C互不为同义词 A,B,C,D 格式 这种格式得分情

如何搞定MySQL锁(全局锁、表级锁、行级锁)?这篇文章告诉你答案!太TMD详细了!!!

概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。 MySQL中的锁,按照锁的粒度分,分为以下三类: 全局锁:锁定数据

21《Spring Boot 入门教程》Spring Boot 安全管理

1. 前言 安全管理是软件系统必不可少的的功能。根据经典的“墨菲定律”——凡是可能,总会发生。如果系统存在安全隐患,最终必然会出现问题。 本节就来演示下,如何使用 Spring Boot + Spring Security 开发前后端分离的权限管理功能。 2. Spring Security 用法简介 作为一个知名的安全管理框架, Spring Security 对安全管理功能的封装已经非常完整了

【5分钟背八股】 简述myisam和innodb的区别?

InnoDB存储引擎: 主要面向OLTP(Online Transaction Processing,在线事务处理)方面的应用,是第一个完整支持ACID事务的存储引擎(BDB第一个支持事务的存储引擎,已经停止开发)。 特点: 支持行锁 支持外键 支持自动增加列AUTO_INCREMENT属性 支持事务 支持MVCC模式的读写 读的效率低于MYISAM 写的效率高优于MYISAM 适合频繁修改以及

Mybatis的一级缓存和二级缓存,看完不再懵逼

缓存是什么? 缓存其实就是存储在内存中的临时数据,这里的数据量会比较小,一般来说,服务器的内存也是有限的,不可能将所有的数据都放到服务器的内存里面,所以, 只会把关键数据放到缓存中,缓存因为速度快,使用方便而出名! 为什么需要缓存 BS架构里面,用户的所有操作都是对数据库的增删改查,其中查询的操作是最多的,但如果用户想要某个数据时每次都去数据库查询,这无疑会增加数据库的压力,而且获取时间效率也会降

mysql索引创建时的12条建议

mysql创建索引的建议,大家可以参考下,不是强制要求 1.建议索引中的字段数量不要超过5个 2.单张表索引数量控制在5个以内 3.唯一索引和主键不要重复 4.索引字段的顺序需要考虑字段唯一值的个数,个数越多越好,越要放在前面 5.order by、group by 、distinct字段要放在复合索引的后边,也就是说,符合索引前面是用于等值查询,后边用于排序操作 6.使用explain判断sq

分库分表神器 Sharding-JDBC

一、Sharding-JDBC 简介 最早是当当网内部使用的一款分库分表框架,到2017年的时候才开始对外开源,这几年在大量社区贡献者的不断迭代下,功能也逐渐完善,现已更名为 ShardingSphere,2020年416正式成为 Apache 软件基会的顶级项。 随着版本的不断更迭 的核心功能也变得多元化起来。从最开始 Sharding-JDBC 1.0 版本只有数据分片,到 Sharding-

【C++ 算法】DFS & BFS 一篇速成学习

📃个人主页:island1314⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞 生活总是不会一帆风顺,前进的道路也不会永远一马平川,如何面对挫折影响人生走向 – 《人民日报》 🔥 目录

【算法学习】递归、搜索与回溯算法(一)

算法学习:#前言: 这个专题与前面的相比是比较有难度的,但是在平时刷题时出现的概率还是非常高的,下面还是按照之前的逻辑来理清一下这几道题 目录1. 递归1.1 汉诺塔问题1.2 Pow(w,n)2. 二叉树中的深搜2.1 计算布尔二叉树的值3. 回溯3.1 全排列3.2 子集4. 总结1. 递归1.1 汉诺塔问题面试题 08.06. 汉

【优选算法 | 滑动窗口】滑动窗口算法:高效处理子数组和子串问题

算法 相关知识点 可以通过点击 以下链接进行学习 一起加油! 双指针 在本篇文章中,我们将深入剖析滑动窗口算法的核心原理。从基础概念到实战应用,带你了解如何利用滑动窗口高效解决连续子数组和子串等问题。无论你是算法入门的新手,还是希望提升代码效率的高手,滑动窗口都将成为你优化算法的重要武器!