- 博客(22)
- 资源 (2)
- 收藏
- 关注
原创 闪击学习mysql
表的设计优化((参考阿里开发手册《嵩山版》)比如设置合适的数值(tinyint int bigint),要根据实际情况选择比如设置合适的字符串类型(char和varchar) char定长效率高,varchar可变长度,效率稍低SQL语句优化SELECT语句务必指明字段名称(避免直接使用select * )SQL语句要避免造成索引失效的写法尽量用union all代替union union会多一次过滤,效率低避免在where子句中对字段进行表达式操作。
2024-04-06 23:23:42 782
原创 面试高频:redis分布式锁如何实现
CAP原理(CAP theorem)是分布式计算领域的一个重要理论,它指出在一个分布式系统中,无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三个基本需求,最多只能满足其中的两项。4.无法解决分布式锁的主从切换导致的一致性问题,redis有红锁方案但不实用,redis是AP架构。3.redis的分布式锁不能重入但redisson的分布式锁是可重入的。需要强一致性可以使用zookeeper实现的分布式锁(CP)
2024-04-06 19:44:59 197
原创 面试高频:redis的数据淘汰策略+过期策略
Redis 提供了多种数据淘汰策略,主要是为了在内存资源不足时,决定如何移除旧数据以腾出新空间。: 当内存不足以容纳新写入数据时,新写入会报错。: 只对设置了过期时间的键进行最近最少使用算法。: 当内存不足时,移除最近最少使用的键。: 随机移除设置了过期时间的键。: 当内存不足时,随机移除键。redis的数据淘汰策略。命令动态设置淘汰策略。: 移除即将过期的键。可以通过配置文件或者。
2024-04-06 19:37:35 197
原创 面试高频:如何实现redis双写一致性
1.延时双删(简单方案,但第二次删除是延时的但可能存在网络抖动导致脏数据并不是强一致性的)4.基于canal的异步通知(最终一致性,侵入低,但需搭建canal环境)3.使用MQ(最终一致性)侵入性大,需写推送mq逻辑。2.分布式锁(强一致性,但性能略低)
2024-04-06 19:32:31 221
原创 面试高频:Mysql如何定位慢查询、索引是什么
索引以及底层数据结构,为什么使用B+树,为什么不用红黑树:红黑树是二叉数数据量大的情况下树会很高导致效率效率变差,b+树更加矮胖,且叶子节点才存储数据,更适合充当索引。
2024-04-06 18:56:35 108
原创 面试高频:Redis单线程为啥还那么快
单线程监听多个socket,当有可读,可写的socket时会通知,避免无意义的等待。并且采用epoll模式会把就绪好的socket写入到用户空间进一步提升了性能。3.主要影响性能的在io上,才用了io多路复用+事件派发(连接应答处理器,命令请求处理器,命令回复处理器),是非阻塞io。并且例如bgsave,bgrewtriteof都是不会阻塞主进程的。2.单线程不用去线程切换不用处理线程安全问题。Redis6.0引入了多线程命令解析和回复。1.基于内存进行操作,c语言编写。但执行的时候依然是单线程的。
2024-04-06 11:33:52 122
原创 面试高频:redis持久化策略
用RDB开启分钟级别快照保存,AOF设置每秒做一次刷盘保存。总结:RDB为快照,AOF是命令追加。两者结合使用,提高恢复效率。
2024-04-04 15:02:31 78
原创 面试高频:redis缓存穿透,缓存击穿,缓存雪崩
原因1:大量key同时过期,导致请求到了数据库解决办法:可增加随机过期时间。解决办法:在缓存重建时加锁保证强一致或使用逻辑过期,容忍读到部分脏数据。原因:大量请求redis中不存在的key,请求直接到了数据库,原因:热点key过期刚好有大量并发,导致这部分请求到了数据库上。原因2:redis挂了,搭建哨兵或集群提高可用性。解决办法:缓存null值或使用布隆过滤器。网关或nginx限流为保底措施。
2024-04-04 14:03:53 344
原创 面试高频:Redis夺命二十问
1. Redis的数据持久化策略有哪些2. 什么是缓存穿透,怎么解决3. 什么是布隆过滤器4. 什么是缓存击穿,怎么解决5. 什么是缓存雪崩,怎么解决6. redis双写问题7. Redis分布式锁如何实现8. Redis实现分布式锁9. 如何合理的控制锁的有效时长10. Redis的数据过期策略有哪些11. Redis的数据淘汰策略有哪些12. Redis集群有哪些方案,知道嘛13. 什么是 Redis主从同步14. 你们使用Redis
2024-04-04 13:51:21 551
原创 记一点偶然刷算法题偶然发现大佬对HashMap的妙用
原理大概是字符串的hasecode方法针对单个由字母组成的字符串返回的就是它的asscill码。当往HashMap里加单个字母时,对应的HashMap的keySet居然是按字母序排列的。在hashmap的哈希值刚好不冲突所有就按字母序了。以上代码的执行结果如下。a-z为 97-122。
2024-03-20 22:57:06 171
原创 使用Python合并相同单元格或多级表头合并
有时候导出文件的表头是动态表头,而且需要合并多个表头,于是有了以下代码。关键字:excel合并单元格 Python 合并表头 动态表头。
2023-12-02 02:23:37 1174
原创 GitLab+Jenkins在多个项目中指定某个pom文件以某种maven配置打包
前言:本文只记录下标题所述内容,前置环节需自信百度配置1.指定GitLab的SSH路径,添加密钥,指定指定分支2.构建环境中填写需要打包的项目的POM文件的相对路径3.打包后部署到服务器(需服务器ssh)...
2022-05-16 16:54:34 891
原创 .xb文件腾讯云备份恢复
登录MySQL 控制台,在实例列表,单击实例 ID 或操作列的管理,进入实例管理页面。 在实例管理页面,选择备份恢复>数据备份列表页, 选择需要下载的备份,在操作列单击下载。 在弹出的对话框,推荐您复制下载地址,并登录到云数据库所在 VPC 下的 CVM(Linux 系统)中,运用 wget 命令进行内网高速下载,更高效。 说明: 您也可以选择本地下载直接下载,但耗时较多。 wget 命令格式:wget -c '备份文件下载地址' -O 自定义文件名.xb ...
2021-12-29 15:10:02 3762
原创 一个仿知乎的问答论坛
一个仿知乎的问答论坛使用技术:springboot+thymeleaf+Redis;开发环境:tomcat8.0+,jdk8.0+, IDEA项目 仿知乎的问答界面设计。 编码不易,觉得不错点个star吧!项目地址https://gitee.com/wsc1987620197/luntan_Th.git演示网站:http://81.68.234.239:8080/演示图片: 主页:...
2020-10-13 08:56:18 1843 2
原创 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: TCP 提供程序, error: 0 - 指定的网络名不再可用
看了高赞回答说是加速器影响了但改了一堆LSP设置还是没用。直接改端口号这个问题就解决了方法如下(1) 使用“network.tcpport”的“set”命令以根用户身份运行 mssql-conf 脚本: sudo /opt/mssql/bin/mssql-conf set network.tcpport 9900(2)重启 SQL Server 服务: sudo systemctl restart mssql-server(3) 连接到 SQL Serv...
2020-10-07 15:36:34 14156 1
原创 对若依的多数据源配置总结
多数据源在实际开发中,经常可能遇到在一个应用中可能需要访问多个数据库的情况在需要切换数据源Service或Mapper方法上添加@DataSource注解@DataSource(value = DataSourceType.MASTER),其中value用来表示数据源名称提示关于多数据源使用流程(如果有多个,可以参考slave添加)支持参数如下: 参数 类型 默认值 描述 value.
2020-09-25 09:43:35 11206 3
原创 eclipse常用技巧
javaee (日常开发) 和 debug视图(调试);windows->showview中可开启其他栏位;如svn版本库:导入import可直接从svn导入,但是会出问题所以本机导入更佳;alt+上导航栏首字母;porject->clean异常报错清理;找资源ctrl+shift+r,t类,包资源搜索;alt +shift +walt+?自动补全;快捷键 打开资源 打开所有类型文件,不包括 JAR 包:Ctrl+Shi...
2020-09-25 09:40:27 89
原创 阿里云学生机linux服务器配置技巧
1.可直接使用阿里云lamp镜像,从而不用费时下载mysql;mysql的配置,mysql修改改密码:https://www.cnblogs.com/wangshaojun/p/5041501.html远程登录:https://www.cnblogs.com/eastson/archive/2012/07/18/2597572.html2.ftp服务器配置端口注意被动模式的端口范围20000:30000,防火墙规则,服务器防火墙规则;3. tomcat 防火墙8080端口开启方法:iptabl
2020-09-25 09:38:11 296
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人