ElasticSearch深度分页详解
1前言ElasticSearch是一个实时的分布式搜索与分析引擎,常用于大量非结构化数据的存储和快速检索场景,具有很强的扩展性。纵使其有诸多优点,在搜索领域远超关系型数据库,但依然存在与关系型数据库同样的深度分页问题,本文就此问题做一个实践性
Wesley13 Wesley13
4年前
java高并发(三)并发编程的基础
CPU多级缓存为什么需要CPU缓存?原因是,CPU的频率太快了,快到主存跟不上,这样在处理器时钟周期内,CPU常常需要等待主存,浪费资源。所以cache的出现,是为了缓解CPU和内存之间速度的不匹配问题。CPU缓存有什么意义?时间局部性:如果某个数据被访问,那么在不久的将
Wesley13 Wesley13
4年前
Volatile关键字
Volatile关键字①volatile的两个特点1保证线程(CPU)之间的可见性;(也就是保证数据一致性)简单解释一下:一个线程将一个值的数值改变时,另一个使用该数值的线程能看到这种改变;2禁止指令重排序(禁止乱序执行);这个和单例
Stella981 Stella981
4年前
Nacos Config源代码分析(一)
NacosConfig提供了配置管理的功能,它允许用户在nacos上配置keyvalue对,并在客户端订阅需要的配置。当配置发生变更时,订阅的客户端会获得通知,随后拉取最新的keyvalue对。ConfigServer为了最大程度保证可用性采用了一种三层的存储架构设计,mysql本地文件内存缓存:!(https://oscim
Wesley13 Wesley13
4年前
Java中的ThreadLocal功能演示
除了使用synchronized同步符号外,Java中的ThreadLocal是另一种实现线程安全的方法。在进行性能测试用例的编写过程中,比较简单的办法就是直接使用synchronized关键字,修饰对象、方法以及类。但是使用synchronized同步,这可能会影响应用程序的可伸缩性以及运行效率。但是如果要在多个
Easter79 Easter79
4年前
SpringMVC 方法三种类型返回值总结,你用过几种?
SpringMVC现在算是Java领域的一个基础性框架了,很多人天天用,可是对于SpringMVC方法的返回值,你又是否完全清楚呢?今天松哥就来和大家聊一聊SpringMVC中四种不同类型的返回值,看看有没有get到你的知识盲点?1\.ModelAndView以前前后端不分的情况下,ModelAn
Wesley13 Wesley13
4年前
mysql 解决超卖问题的锁分析
  解决超卖问题,常见的方式,利用redis的原子性去递减;利用队列,队列入队计数。或者直接打到mysql层。由mysql保证不超卖,有几个玩法。利用属性不一样,挺有意思,记录下。该文章后续仍在不断的更新修改中,请移步到原文地址http://www.dmwan.cc/?p139&previewtrue(https://www.
Stella981 Stella981
4年前
Spring Boot(十三)RabbitMQ安装与集成
一、前言RabbitMQ是一个开源的消息代理软件(面向消息的中间件),它的核心作用就是创建消息队列,异步接收和发送消息,MQ的全程是:MessageQueue中文的意思是消息队列。<!more1.1使用场景削峰填谷:用于应对间歇性流量提升对于系统的“破坏”,比如秒杀活动,可以把请求先发送到消息
Stella981 Stella981
4年前
Python笔记(八)MySQL
一、数据库简介传统记录数据的缺点:不易保存、备份困难、查找不便文件:①使用简单,例如python中的open可以打开文件,用read/write对文件进行读写,close关闭文件②对于数据容量较大的数据,不能够很好的满足,而且性能较差③不易扩展数据库:①持久化存储②读写速度极高③保证数据的有效性④对程序支持
赵亦华 赵亦华
3年前
OceanBase 社区版4.0发版:一个全新的里程碑
2022年11月3日oceanbase社区版4.0(代号:小宇)测试版正式发布,这是社区版全新的里程碑。作为业界首款兼容MySQL8.0的单机分布式集成数据库,oceanbase社区版4.0全面开放MySQL兼容性,全面兼容MySQL8.0协议,大幅提升在线DDL能力,支持超大事务、主键变更、主键增删等。