02 2023 档案
摘要:在满足实时性的条件下,不存在两者完全保存一致的方案,只有最终一致性方案。 根据网上的众多解决方案,总结出 6 种,直接看目录: 目前看到最好的一篇文章,是苏三哥的《如何保证数据库和缓存双写一致性?》,所以本文很多地方会有借鉴,特此说明! 不好的方案1. 先写 MySQL,再写 Redis 图解说明:
阅读全文
摘要:什么是缓存穿透 缓存穿透是指查询一个缓存中和数据库中都不存在的数据,导致每次查询这条数据都会透过缓存,直接查库,最后返回空。当用户使用这条不存在的数据疯狂发起查询请求的时候,对数据库造成的压力就非常大,甚至可能直接挂掉。这种情况的流程就变成下图这样了: 缓存穿透解决方案 解决缓存穿透的方法一般有两种
阅读全文
摘要:https://blog.csdn.net/qq_45076180/article/details/109458668
阅读全文
摘要:1.什么是maven Maven 是一个项目管理工具,它包含了一个项目对象模 型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管 理系统(Dependency Management System),和用来运行定义
阅读全文
摘要:项目中是如何创建线程池的,为什么不用Executors 去创建线程池
阅读全文
摘要:ThreadLocal使用方法及存在问题,内存泄露
阅读全文
摘要:一、进程进程是操作系统资源分配的最小单元。一个进程拥有的资源有⾃⼰的堆、栈、虚存空间(页表)、文件描述符等信息。 从编程的角度来理解进程,可以把它看作是⼀个类或一个 PCB(Process Control Block)进程控制块的结构体。 进程是操作系统对一个正在运行的程序的一种抽象,可以把进程看作
阅读全文
摘要:快速备份表字段和数据(不包含主键、索引) 语法: CREATE TABLE <新表名> SELECT * FROM <旧表名>; 1 2 快速备份表字段(不包含主键、索引) 语法: CREATE TABLE <新表名> SELECT * FROM <旧表名> WHERE 1 <> 1; 1 2 备份
阅读全文
摘要:查询表中所有的索引,一般情况下,oracle是不管大小写的,但上面查询语句里面的table_name必须大写,如果写成‘picture’则是没有记录 select index_name from all_indexes where table_name = ‘PICTURE’; 创建索引 creat
阅读全文
摘要:Java 中将实参传递给方法(或函数)的方式是 值传递 : 如果参数是基本类型的话,很简单,传递的就是基本类型的字面量值的拷贝,会创建副本。 如果参数是引用类型,传递的就是实参所引用的对象在堆中地址值的拷贝,同样也会创建副本。 著作权归所有 原文链接:https://javaguide.cn/jav
阅读全文
摘要:索引字段使用范围查询比如:<,>的使用;索引字段参与运算;索引字符串字段不使用单引号'';索引字段使用or时,前后字段必须是索引字段,不然会失效。使用模糊查询like时,头部模糊查询索引会失效。
阅读全文
摘要:1、使用nginx操作命令前提条件:必须进入nginx的目录 /usr/local/nginx/sbin 2、查看nginx的版本号 ./nginx -v 3、启动nginx ./nginx 4、关闭nginx ./nginx -s stop 5、重新加载nginx ./nginx -s reloa
阅读全文
摘要:在语义相同,有索引的情况下: group by和distinct都能使用索引,效率相同。因为group by和distinct近乎等价,distinct可以被看做是特殊的group by。 在语义相同,无索引的情况下: distinct效率高于group by。原因是distinct 和 group
阅读全文