隔壁老王的代码
码龄2年
关注
提问 私信
  • 博客:24,332
    24,332
    总访问量
  • 47
    原创
  • 193,936
    排名
  • 166
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖南省
  • 加入CSDN时间: 2022-09-15
博客简介:

m0_73735578的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    2
    当前总分
    159
    当月
    0
个人成就
  • 获得177次点赞
  • 内容获得7次评论
  • 获得180次收藏
  • 代码片获得156次分享
创作历程
  • 17篇
    2024年
  • 30篇
    2023年
成就勋章
TA的专栏
  • java
    3篇
  • 程序人生
    3篇
  • 面试
    3篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

343人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

MongoDB vs MySQL,哪个更快?

本文主要是为了介绍bulkWrite()方法的使用,也就是MongoDB的批量写操作,通过实验可以看出MongoDB使用bulkWrite()方法进行大量数据的写操作比使用常规的方法进行写操作效率要高很多。文章也介绍了mysql几种写操作下批量和非批量的对比,可以看出他们批处理方式比非批处理快点,但没有MongoDB那么明显。对于MongoDB与mysql的比较,批量操作下,MongoDB插入、删除、更新都比mysql快,非批量操作下,MongoDB插入、删除、更新都比mysql慢。
原创
发布博客 2024.04.08 ·
2125 阅读 ·
37 点赞 ·
1 评论 ·
25 收藏

缓存穿透、缓存雪崩、缓存击穿

分析业务请求,如果是正常业务请求时发生缓存穿透现象,可针对相应的业务数据,在数据库查询不存在时,将其缓存为空值(null)或默认值。当然,除了上述方案,我们还可以限流、降级、熔断等服务层的措施,也可以考虑数据库层是否可以进行横向扩展,当缓存异常发生时,确保数据库能够抗住流量,不至于让整个系统崩溃。缓存雪崩是指只大量热点key同时失效的情况,如果是单个热点key,在不停的扛着大并发,在这个key失效的瞬间,持续的大并发请求就会击破缓存,直接请求到数据库,好像蛮力击穿一样。为什么说不得不考虑?
原创
发布博客 2024.04.07 ·
320 阅读 ·
4 点赞 ·
0 评论 ·
3 收藏

一个注解实现 WebSocket 集群方案,这样玩才爽

最后请允许我发表一点对于抽象的拙见抽象其实就和 “道生一,一生二,二生三,三生万物” 一样,根据你的顶级接口(也就是核心功能)不断的向外展开,你的顶级接口就是道(狭义的来讲)以这个库为例,ConnectionLoadBalanceConcept就是这个库的道,他的核心功能就是发送消息,至于怎么发,发给谁,不确定,像是一个混沌的状态。
原创
发布博客 2024.04.07 ·
306 阅读 ·
4 点赞 ·
0 评论 ·
8 收藏

遇到个MySQL索引长度限制的问题

前言前言我只是创建个索引而已,没想到还这些遇到个诡异的问题!😱😱话说你平时创建mysql时遇到过以下创建索引报错的情况吗?报错提示如下//需要添加索引的字段的长度太长,超过了767字节🚩什么?索引长度限制?我从没遇到过啊,MySQL还会对索引键的长度有限制?是的,一般都不会遇到,不过这个问题我一个同事就遇到了!他用,都是相同的,但是一个测试环境和一个线上MySQL版本,一个执行成功一个执行失败!
原创
发布博客 2024.04.07 ·
354 阅读 ·
5 点赞 ·
0 评论 ·
6 收藏

SpringBoot:一个注解就能帮你下载任意对象

下载功能应该是比较常见的功能了,虽然一个项目里面可能出现的不多,但是基本上每个项目都会有,而且有些下载功能其实还是比较繁杂的,倒不是难,而是麻烦。所以结合之前的下载需求,我写了一个库来简化下载功能的实现传送门:https://github.com/Linyuzai/concept/wiki/Concept-Download如果我说现在只需要一个注解就能帮你下载任意的对象,是不是觉得非常的方便@Download@Download感觉差别不大?那就听听我遇到的一个下载需求。
原创
发布博客 2024.04.07 ·
409 阅读 ·
5 点赞 ·
0 评论 ·
7 收藏

百度一面问了 3 个 ES 问题,直接干懵了

先自上而下,后自底向上的介绍ElasticSearch的底层工作原理,试图回答以下问题:为什么ElasticSearch占用很多内存?
原创
发布博客 2024.04.07 ·
382 阅读 ·
4 点赞 ·
0 评论 ·
3 收藏

WebSocket 集群解决方案

WebSocket是一种在网络应用程序中,使客户度端和服务器之间可以进行双向通信的协议。它允许数据可以在建立连接后进行实时交换,而不必依赖传统的HTTP请求-响应模式。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
原创
发布博客 2024.04.03 ·
779 阅读 ·
3 点赞 ·
1 评论 ·
10 收藏

缓存穿透、缓存雪崩、缓存击穿

分析业务请求,如果是正常业务请求时发生缓存穿透现象,可针对相应的业务数据,在数据库查询不存在时,将其缓存为空值(null)或默认值。当然,除了上述方案,我们还可以限流、降级、熔断等服务层的措施,也可以考虑数据库层是否可以进行横向扩展,当缓存异常发生时,确保数据库能够抗住流量,不至于让整个系统崩溃。缓存雪崩是指只大量热点key同时失效的情况,如果是单个热点key,在不停的扛着大并发,在这个key失效的瞬间,持续的大并发请求就会击破缓存,直接请求到数据库,好像蛮力击穿一样。为什么说不得不考虑?
原创
发布博客 2024.04.02 ·
261 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

RocketMQ为什么这么快?我从源码中扒出了10大原因

在传统IO中,如果想将用户缓存区的数据放到内核缓冲区,需要经过CPU拷贝mmap()sendfile()mmap()是将用户缓冲区和内核缓冲区共享,操作用户缓冲区就好像直接操作内核缓冲区,读写数据时不需要CPU拷贝Java中可以使用MappedByteBuffer这个API来达到操作内核缓冲区的效果sendfile()主要是用于文件传输,可以通过sendfile()将一个文件内容传输到另一个文件中或者是网络中。
原创
发布博客 2024.04.02 ·
448 阅读 ·
4 点赞 ·
0 评论 ·
8 收藏

微服务+多级缓存,性能起飞

另外陈某的知识星球开通了,公众号回复关键词:知识星球 获取限量20元优惠券加入只需179元,一顿饭钱,但是星球回馈的价值却是巨大,目前更新了Spring全家桶实战系列、亿级数据分库分表实战、DDD微服务实战专栏、我要进大厂、Spring,Mybatis等框架源码、架构实战22讲等....每增加一个专栏价格将上涨20元。
原创
发布博客 2024.04.02 ·
383 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

微服务Token鉴权设计的几种方案

根据需求积分服务提供了一个给用户添加积分的API,如果你的API是通过获取的当前登录用户ID增加的积分,那么面对场景二时你需要重新编写一个给用户添加积分的API,因为当前登录的是后台管理员而不是用户(代码复用率较低)缺点:A服务调用B服务时,B服务需要写一个内部调用的Controller接口A服务才能通过Fegin调用到B服务,增加了代码量(这里的设计方案是内部调用与外部调用Controller是分开的)各位服务都有自己的鉴权方式,当然也可以通过jar包的方式统一各服务的鉴权方式。
原创
发布博客 2024.04.02 ·
456 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

SpingBoot的5个扩展点,超级实用!

目录1、初始化器ApplicationContextInitializer2、监听器ApplicationListener3、Runner6、后记。
原创
发布博客 2024.04.02 ·
341 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏

MySQL 的 varchar 水真的太深了!

来看极限边界情况,innodb为了记录一下varchar真实存储多少个字节,最多分配2个字节的空间去记录,2个字节16个比特位,全部为1,最大能记录的数字是2^16-1是65535个,innodb最大能记录varchar占用的字节数就是65535个,utf8mb4字符集一个字符是最大是4个字节,65535 / 4 = 16383.75,只要varchar字符数不超过16383个,innodb就可以记录真实占用的长度L,再多就记录不了了!这20字节的空间存储的是分散行的地址和占用的字节数。
原创
发布博客 2024.04.02 ·
321 阅读 ·
3 点赞 ·
0 评论 ·
7 收藏

面试官:Redis为什么默认16个数据库?

比如可以使用0号数据库存储某个应用生产环境中的数据,使用1号数据库存储测试环境中的数据,但不适宜使用0号数据库存储A应用的数据而使用1号数据库B应用的数据,不同的应用应该使用不同的Redis实例存储数据。对于db正确的理解应为“命名空间”,多个应用程序不应使用同一个Redis不同库,而应一个应用程序对应一个Redis实例,不同的数据库可用于存储不同环境的数据。Redis是一个字典结构的存储服务器,一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。以MySQL实例为例。
原创
发布博客 2024.04.02 ·
339 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

MyBatis 流式查询,真心强大!

上面的代码中,1 处我们创建了一个 TransactionTemplate 对象(此处 transactionManager 是怎么来的不用多解释,本文假设读者对 Spring 数据库事务的使用比较熟悉了),2 处执行数据库事务,而数据库事务的内容则是调用 Mapper 对象的流式查询。流式查询的过程当中,数据库连接是保持打开状态的,因此要注意的是:执行一个流式查询后,数据库访问框架就不负责关闭数据库连接了,需要应用在取完数据后自己关闭。所以,解决这个问题的思路不复杂,保持数据库连接打开即可。
原创
发布博客 2024.04.02 ·
353 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

Docker 是什么? 和 k8s 之间是什么关系?

• Docker 本质上就是一个将程序和环境打包并运行的工具软件,而 Docker 容器本质上只是个自带独立运行环境的特殊进程,底层用的其实是宿主机的操作系统内核。• Docker 软件 通过 Dockerfile 描述环境和应用程序的依赖关系, docker build 构建镜像, docker pull/push 跟 Docker Registry 交互实现存储和分发镜像,docker run 命令基于镜像启动容器,基于容器技术运行程序和它对应的环境,从而解决环境依赖导致的各种问题。
原创
发布博客 2024.04.02 ·
337 阅读 ·
5 点赞 ·
0 评论 ·
6 收藏

字节二面:如何设计一个支撑数亿用户的系统?

要设计出一套能支撑几十亿人的系统是很困难的。对于软件架构师来说,这一直是一项很大的挑战,但是,从现在开始,看完我的文章,你就会觉得容易很多了。下面是我在本文中提到的几个话题:从最简单的开始:万事合一。可扩展性的艺术:纵向扩展,横向扩展。扩展关系型数据库:主 - 从复制、主 - 主复制、联合、分片、非规范化和 SQL 调优。使用哪种数据库:NoSQL 还是 SQL?先进概念:缓存、CDN、geoDNS 等。在这篇文章里,我不打算谈论诸如容错、可靠性、高可用性等高性能计算的通用术语。
原创
发布博客 2024.04.02 ·
690 阅读 ·
30 点赞 ·
0 评论 ·
19 收藏

SpringBoot 优雅地实现文件的上传和下载

mavenspringbootmybatis-plusmysqlthymeleafbootstrap4.创建 springboot 项目这里我们主要引入以下依赖:webmybatis-plusmysql 驱动thymeleafcommons-fileuploadlombokcommons-fileupload 是一个上传文件的组件,该组件封装了一些上传文件的方法。6.修改配置文件这里主要包含数据源、thymeleaf、mybatis-plus 三个模块的配置。这里使用 mybatis-p
原创
发布博客 2023.05.26 ·
382 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

图解 Redis 分布式锁,写得太好了

分布式锁的演进。
原创
发布博客 2023.05.26 ·
181 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

重学了计算机网络,略有小成,经验全部分享出来

重学计算机网络已经有一段时间了,终于在离开大学多年后又重新拾起了一部分,时至今日已略有小成,并且写了一系列的文章了,会慢慢 发出来。我反正在学习的过程中是画了好多张图上大学的时候就想好好学习网络,梦想着以后成为一名网管。后来发现计算机网络还真是不太好学,非常非常抽象,发现有很多概念好像怎么学都学不明白。这才知道,原来更适合我的网吧管理员,而不是网络管理员。而写代码就不一样了,没那么抽象,而且写出来东西马上能看到成果,写一个方法一运行,马上能输出结果;写一个网页、一段样式,马上就能看到界面的变化。
原创
发布博客 2023.05.26 ·
147 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多