
码猿技术专栏
文章平均质量分 95
不才陈某
前蚂蚁金服P8
展开
-
Gitee倒下了,自己造个免费的分布式存储服务~
大家好,我是不才陈某~最近真的被Gitee整废了,昨天又设置了仓库不能公开,必须申请开源,审核通过才能公开难道这是被约谈了?先是博客园,现在又是Gitee交流群里小伙伴也都在埋怨,辛苦搭建的图床也废了有些朋友建议直接使用收费的,比如七牛云,不过技多不压身,自己造一个岂不美哉!今天来安利一个开源免费的对象存储套件MinIO,自己撸一个免费的存储系统,顺带实现一个图床。什么是MinIO?Minio 是个基于 Golang 编写的开源对象存储套件,基于Apache License v2.0开源协原创 2022-05-20 14:15:04 · 2900 阅读 · 0 评论 -
并发编程 | 了解这些坑再也不会出现诡异的BUG了~
前言在高并发的情况下,你的程序是不是经常出现一些诡异的BUG,每次都是花费大量时间排查,但是你有没有思考过这一切罪恶的源头是什么呢?幕后那些事CPU、内存、I/O设备的速度差异越来越大,这也是程序性能的瓶颈,根据木桶理论,最终决定程序的整体性能取决于最慢的操作-读写I/O设备,单方面的提高CPU的性能是无用的。为了平衡三者的差距,大牛前辈们不断努力,最终做出了卓越的贡献:CPU增加了缓存,平衡与内存之间的速度差异操作系统增加了进程、线程,以分时复用 CPU,进而均衡 CPU 与 I/O 设备的原创 2020-12-09 10:28:25 · 209 阅读 · 0 评论 -
给你一个亿的Keys,Redis如何统计?
前言不知你大规模的用过Redis吗?还是仅仅作为缓存的工具了?在Redis中使用最多的就是集合了,举个例子,如下场景:签到系统中,一天对应一系列的用户签到记录。电商系统中,一个商品对应一系列的评论。交友系统中,某个用户的一系列的好友。Redis中集合的特点无非是一个Key对应一系列的数据, 但是数据的作用往往是为了统计的,比如:交友系统中,需要统计每天的新增好友,以及双方的共同好友。电商系统中,需要统计评论列表中的最新评论。签到系统中,需要统计连续一个月的签到的用户数量。大型互联网原创 2020-12-08 17:09:55 · 640 阅读 · 2 评论 -
Mybatis如何执行Select语句,你真的知道吗?
持续原创输出,点击上方蓝字关注我吧作者:不才陈某博客:https://chenjiabing666.github.io前言本篇文章是Myabtis源码分析的第三篇,前两篇分别介绍了Mybatis的重要组件和围绕着Mybatis中的重要组件教大家如何阅读源码的一些方法,有了前面两篇文章的基础,来看这篇文章的才不会觉得吃力,如果没有看过的朋友,陈某建议去看看,两篇文章分别是Mybatis源码解析之六剑客和Mybatis源码如何阅读,教你一招!!!。今天接上一篇,围绕Mybatis中的selectLi原创 2020-09-14 13:22:40 · 715 阅读 · 0 评论 -
Mybatis入门之基本操作!!!
前言作为一个资深后端码农天天都要和数据库打交道,最早使用的是 Hiberate,一个封装性极强的持久性框架。自从接触到 Mybatis 就被它的灵活性所折服了,可以自己写 SQL,虽然轻量级,但是麻雀虽小,五脏俱全。这篇文章就来讲讲什么是 Mybatis,如何简单的使用 Mybatis。什么是 MybatisMyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简原创 2020-09-02 21:19:13 · 288 阅读 · 0 评论 -
看完这篇缓存穿透的文章,又能和面试官互扯了~
前言 昨天有读者朋友留言,想要陈某写一篇防止缓存穿透的文章,今天特意写了一篇。 文章目录如下: 什么是缓存穿透? 缓存穿透其实是指从缓存中没有查到数据,而不得不从后端系统(比如数据库)中查询的情况。 缓存毕竟是在内存中,不可能所有的数据都存储在 Redis 中,因此少量的缓存穿透是不可避免的,也是系统能够承受的,但是一旦在瞬间发生大量的缓存穿透,数据库的压力...原创 2020-04-27 10:02:39 · 1282 阅读 · 0 评论 -
大白话布隆过滤器,又能和面试官扯皮了~
前言 文章首发于微信公众号大白话布隆过滤器,又能和面试官扯皮了~ 近期在做推荐系统中已读内容去重的相关内容,刚好用到了布隆过滤器,于是写了一篇文章记录分享一下。 文章的篇幅不是很长,主要讲了布隆过滤器的核心思想,目录如下: 什么是布隆过滤器? 布隆过滤器是由一个长度为m比特的位数组与k个哈希函数组成的数据结构。比特数组均初始化为0,所有哈希函数都可以分别把输入...原创 2020-04-22 21:36:22 · 821 阅读 · 0 评论 -
天天用Redis,持久化方案你又知道哪些?
前言 文章首发于微信公众号【码猿技术专栏】:天天用Redis,持久化方案有哪些你知道吗? Redis目前已经成为主流的内存数据库了,但是大部分人仅仅是停留在会用的阶段,你真的了解Redis内部的工作原理吗? 今天这篇文章将为大家介绍Redis持久化的两种方案,文章将会从以下五个方面介绍: 什么是RDB,RDB如何实现持久化? 什么是AOF,AOF如何实...原创 2020-04-20 09:51:36 · 2292 阅读 · 0 评论 -
天天写order by ,你知道Mysql底层的执行原理吗?
前言文章首发于微信公众号【码猿技术专栏】 在实际的开发中一定会碰到根据某个字段进行排序后来显示结果的需求,但是你真的理解order by在 Mysql 底层是如何执行的吗? 假设你要查询城市是苏州的所有人名字,并且按照姓名进行排序返回前 1000 个人的姓名、年龄,这条 sql 语句应该如何写? 首先创建一张用户表,sql 语句如下: CREATETABLE...原创 2020-04-14 11:48:01 · 1252 阅读 · 0 评论 -
拜托,别再问我Zookeeper如何实现分布式锁了!!!
目录导读ZK的四种节点排它锁的实现代码实现可重入性排他锁如何设计读写锁的实现读锁的设计写锁的设计如何监听代码实现Curator实现分步式锁一点小福利导读文章首发于微信公众号拜托,别再问我Zookeeper如何实现分布式锁了!!! 真是有人(锁)的地方就有江湖(事务),今天不谈江湖,来撩撩人。 分布式锁的概念、为什么使用分布式锁...原创 2020-04-11 13:28:00 · 513 阅读 · 0 评论 -
求你了,别再问我Zookeeper如何实现分布式锁了!!!
目录导读ZK的四种节点排它锁的实现代码实现可重入性排他锁如何设计读写锁的实现读锁的设计写锁的设计如何监听代码实现Curator实现分步式锁一点小福利导读 真是有人(锁)的地方就有江湖(事务),今天不谈江湖,来撩撩人。 分布式锁的概念、为什么使用分布式锁,想必大家已经很清楚了。前段时间作者写过Redis是如何实现分布式锁,今天这篇文...原创 2020-04-09 12:43:04 · 1290 阅读 · 0 评论 -
Spring中的设计模式:工厂方法模式
导读 工厂方法模式是所有设计模式中比较常用的一种模式,但是真正能搞懂用好的少之又少,Spring底层大量的使用该设计模式来进行封装,以致开发者阅读源代码的时候晕头转向。 文章首发于微信公众号:Spring中的设计模式:工厂方法模式 今天陈某分别从以下五个方面详细讲述一下工厂方法模式: 「从什么是工厂方法模式」 「通用框架实现」 「工厂方...原创 2020-04-06 13:29:13 · 1718 阅读 · 2 评论 -
Spring中的设计模式:模板方法模式
导读文章首发于微信公众号设计模式:模板模式,原创不易,谢谢支持!!! 模板模式在是Spring底层被广泛的应用,比如事务管理器的实现,JDBC模板的实现。 今天就来谈谈「什么是模板模式」、「模板模式的优缺点」、「模板模式的简单演示」、「模板模式在Spring底层的实现」。 什么是模板模式 模板模式首先要有一个抽象类,这个抽象类公开定义了执行它的方法的方式/模板。它的子...原创 2020-04-05 11:44:49 · 4689 阅读 · 0 评论 -
Mysql性能优化:如何给字符串加索引?
导读 现代大部分的登录系统都支持邮箱、手机号码登录两种方式,那么如何在邮箱或者手机号码这个字符串上建立索引才能保证性能最佳呢? 今天这篇文章就来探讨一下在Mysql中如何给一个字符串加索引才能达到性能最佳。 本文首发于作者的微信公众号【码猿技术专栏】,喜欢的朋友关注一下,谢谢!!! 陈某将会从什么是前缀索引、前缀索引和普通索引的比较、如何建丽最佳性能的前缀索引、...原创 2020-04-02 16:08:44 · 5026 阅读 · 0 评论 -
老司机带你聊聊接口幂等性如何设计?
导读现在这个时代大家可能最关心的就是钱了,那么有没有想过你银行转账给你没有一次是转多的,要么失败,要么成功,为什么不能失误一下多转一笔呢?醒醒吧年轻人,别做梦了,做银行的能那么傻x吗?今天我们就来谈一谈为什么银行转账不能多给我转一笔?关乎到钱的问题,小伙伴们打起精神!!!要想要理解上述的疑惑,不得不提的一个概念就是幂等性,至于什么是幂等性,如何通过代码实现幂等性,下面将会详细讲述。什么...原创 2020-04-01 18:15:54 · 1960 阅读 · 3 评论 -
Mysql性能优化:为什么使用覆盖索引?
导读相信读者看过很多MYSQL索引优化的文章,其中有很多优化的方法,比如最佳左前缀,覆盖索引等方法,但是你真正理解为什么要使用最佳左前缀,为什么使用覆盖索引会提升查询的效率吗?本篇文章将从MYSQL内部结构上讲一下为什么覆盖索引能够提升效率。InnoDB索引模型在InnoDB中,表都是根据主键顺序以索引的形式存放的,这种存储方式的表称为索引组织表。又因为前面我们提到的,InnoDB使...原创 2020-03-30 18:26:30 · 664 阅读 · 0 评论