MySQL-SQL执行流程

MySQL-SQL执行流程在《MySQL-逻辑架构》这篇文章中说到了MySQL的逻辑架构,那么MySQL的SQL执行流程是怎么样的呢?从MySQL的逻辑架构可以看出MySQL中的SQL执行流程可以是这样的:#render755929009 {font-family:"trebuchet ms",ve

MySQL-逻辑架构

MySQL-逻辑架构MySQL是一个典型的C/S架构,也就是Client/Server结构,服务端就是mysqld。不论客户端进程和服务器进程是采用的哪种方式通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本(SQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果)。这里以一个

Sentinel 学习笔记

Sentinel 学习笔记随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。基本概念资源资

Redisson

Redisson首先是来自Redis官网的分布式锁的说明:在不同进程必须以互斥的方式使用共享资源的环境中,分布式锁是一个非常有用的元素。有许多库和博客文章描述如何使用Redis实现DLM(分布式锁管理器),但每个库都使用不同的方法,并且许多库使用简单的方法。与稍微复杂的方法相比,保证较低的设计。我们

Redis实现分布式锁

Redis实现分布式锁Redis除了用来作为缓存,还有哪些其他的用途呢?分布式锁:在分布式系统中,为了保证数据的正确性,经常需要使用分布式锁。Redis提供了setnx和expire等操作,可以实现分布式锁的功能。使用Redis作为分布式锁可以有效地解决多个进程或者多台机器之间的竞争问题,从而提高系

缓存双写一致性问题

缓存双写一致性问题首先缓存双写一致性是指缓存和数据库中的数据保持一致。当修改数据库中的数据时,需要同时修改缓存中的数据,以保证两者的一致性。如果只修改了数据库中的数据,而没有及时更新缓存,会导致缓存中的数据与数据库中的数据不一致,进而影响系统的正确性和性能。一般使用缓存的流程可以是这样:#rende

MoreKey & BigKey

MoreKey & BigKeyMoreKey问题假如现在Redis服务上有100W条记录,如何遍历?keys *可以吗?模拟大量的key首先要在Redis里面插入100W条记录,这里先生成一个临时文件使用命令:for((i=1;i<=100*10000);i++); do echo

Redis是单线程还是多线程

Redis是单线程还是多线程要说Redis是单线程还是多线程实际要看实际版本Redis的版本有很多,其架构也是不一样的。在Redis3的时候是单线程。从Redis4开始,严格意义上来说已经不是单线程了,而是负责处理客户端请求的线程是单线程,但是开始加了点多线程的东西。Redis6和Redis7彻底的

Seata学习笔记

Seata 分布式事务单体应用被拆分成微服务应用,原来的多个模块被拆分成多个独立的应用,分别使用多个独立的数据源,业务操作需要调用多个服务来完成。此时每个服务内部的数据一致性由本地事务来保证,但是全局的数据一致性问题没有办法保证。简介Seata是一款开源的分布式事务解决方案,旨在解决分布式事务场景下

Redis淘汰策略

Redis淘汰策略Redis的最大占用内存如何查看Redis最大占用内存?在配置文件中可以找到配置项maxmemory <bytes>:# 设置内存使用限制为指定的字节数。# 当达到内存限制时,Redis将根据所选的淘汰策略尝试删除键。## 如果Redis无法根据策略删除键,或者策略设置