- 博客(66)
- 收藏
- 关注

原创 用三个实验,告诉你Docker数据卷挂载与目录挂载的区别?
采用数据卷进行挂载会自动将容器运行所需的文件复制出来,放置到对应的数据卷中。采用目录挂载的方式,则会导致容器因缺少运行所需的文件,而出错。对应的数据卷有数据,就会将容器内的数据覆盖。对应的目录有数据,则会将被容器加载,保证容器的正常运行。对于多容器共享,无论是数据卷挂载还是容器挂载,都可以实现多个容器共享文件。优点:这种方式相当于把挂载全部交给Docker本身处理,方便快捷。缺点:真实挂载目录由Docker生成,目录较深,不方便查找。
2024-09-16 16:25:59
2575

原创 Go语言-切片底层探索 —— 补充篇:切片和底层数组到底是什么关系?
在这篇博客中,我们主要讲解切片和底层数组之间的关系,并且通过切片的三种创建方式来进行详细的说明。我们在使用切片的时候,一定要注意切片扩容后,其底层指向的数组会发生变化,对切片的修改将不再作用与原来的底层数组。
2024-06-02 11:18:49
1071
2
原创 asyncio入门指南
我们使用语法,来进行异步编程。async是声明一个协程函数,await表示调用,可以调用所有的可等待对象。注意:只有可等待对象才被await中调用。corotinue:使用async def func_name(),协程函数生成的对象。task:表示一个任务,被用来并行地调度协程。future:一种特殊的 低层级 可等待对象,表示一个异步操作的 最终结果,常用语底层的框架,应用层的代码很少使用。
2024-12-22 23:09:32
754
原创 ShardingSphere-Proxy数据分片教程
本文详细介绍了使用数据分片的前提,以及如何利用ShardingSphere-Proxy相关的数据分片操作,以及数据分片带来的限制。最后,谈论了解决海量数据的其他方案。
2024-11-17 17:49:51
933
原创 ZooKeeper单机、集群模式搭建教程
本文介绍了ZooKeeper单机和集群模式的搭建,并对集群模式的搭建步骤做了详细的讲解以及常见的错误说明。
2024-11-15 09:28:51
1542
原创 Sharding运行模式、元数据、持久化详解
本文主要讲解ShardingSphere的运行模式,元数据、持久化仓库以及如何借助K8S,在多个单机模式的proxy节点之间实现元数据的同步。
2024-11-10 17:36:59
1610
原创 ShardingSphere-Proxy启动时报Not enough space
ShardingSphere-Proxy运行在JVM中,对服务器的内存大小有要求,如果内存过小会报Not enough space,这时候,直接换服务器就可以了,不要对JVM的初始内存参数进行限制。
2024-10-31 23:57:53
510
原创 JWT生成、解析过程及原生实现
本文主要内容为JWT的使用流程、应用场景、实现和验证Token的方式。其中,还包括了如何实现和解析Token的原生方式。
2024-10-14 09:21:54
1709
原创 微服务架构Gin-etcd-gRPC接合的入门实践
采用Gin_etcd_gRPC的微服务入门联系,有完整代码和调用流程图。欢迎批评、指正、交流、进步。
2024-10-08 17:16:03
1428
原创 Docekrfile和docker compose编写指南及注意事项
本文主要讲解Dockerfile和docker-compose文件的编写过程中的注意事项。详细讲解了docker-compse中的denps_on的作用和局限性,并对condition和required进行这两个参数设置进行了讲解,方便更加准确地控制容器之间的启动顺序和启动实际,处理好它们之间的依赖关系。
2024-09-27 17:44:26
1084
1
原创 Golang——逃逸分析
逃逸分析的目的是为了确定对象分配到了堆上还是分配到了栈上。有了逃逸分析,我们可以非常方便地返回函数里面的变量,这方便了我们的开发,但也有可能会造成我们程序的性能下降。因为分配到堆上的变量,需要GC进行回收。而GC运行的时候,会发生STW。所以,我们要减少不合理的逃逸现象,减轻GC的负担。
2024-08-05 08:55:54
760
原创 如何通过Nginx将http升级为https,ws升级成wss
最近项目需要部署上线,前端采用的是小程序客户端,小程序部署上线需要使用更为安全的https协议进行通信。使用Nginx接收到前端发送的https请求,并将请求反向代理到处理http请求的后端服务器上。这样可以在不进行任何后端代码更改的条件下,完成http到https的升级。
2024-07-14 21:55:21
2549
原创 MySQL覆盖索引和索引跳跃扫描
mysql的查询永远会选择成本最低的方案,而索引跳跃扫描仅仅是其中的一种方案。我们可以将索引跳跃扫描看作是覆盖索引条件查询缺失前缀的一种优化方案。
2024-07-14 21:55:08
1775
原创 Golang——channel
channel是Go在语言层面提供的协程间的通信方式。通过channel我们可以实现多个协程之间的通信,并对协程进行并发控制。
2024-06-18 17:06:37
645
1
原创 策略模式的理解和运用
策略模式是一种软件设计模式,它允许在运行时选择算法的行为。策略模式定义了一系列算法,并使它们能够相互替换,从而使算法可以独立于其使用者而变化。这意味着在实际使用中,可以在不修改其结构的情况下轻松地切换或替换算法。
2024-06-06 21:58:40
1241
原创 MySQL三大日志
MySQL当中的三大日志,作用不同,互为补充,提高了数据存储的安全性和一致性。其中,undolog和redolog用于实现InnoDB存储引擎中事务四大特性的原子性和持久性,保证小范围内的数据一致性。binlog用于实现数据库的全量备份,为数据恢复提供了一种重要的方式,值得注意的是,如果我们想要通过binlog恢复数据库中的所有信息,就需要定期的进行数据备份。因为 mysql仅会保证一定数量的数据文件,如果超过了该数量会将旧值删除。
2024-06-06 21:58:28
1071
原创 Golang省市二级联动实现 从数据收集、清洗到数据存储
最近在写项目,在项目中有一个需求是获取用户的地理位置,一开始是打算让前端使用JSON包的形式去实现,但是考虑到后期可能需要对省市的数据做一些修改和控制操作,所以改为后端实现,并向后台暴露一套接口,方便对城市信息进行增删改查的管理。由于项目中仅仅需要省市二级数据,所以本篇博客就以省市二级数据为例,带领读者朋友们从数据的收集、清洗到存储数据库。
2024-06-02 10:07:12
707
原创 Golang — map的使用心得和底层原理
map作为一种基础的数据结构,在算法和项目中有着非常广泛的应用,以下是自己总结的map使用心得、实现原理、扩容机制和增删改查过程。
2024-05-12 21:46:29
1349
4
原创 关于Hash表,你不得不知道的知识点
哈希表是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,也称为hash函数,存放记录的数组叫做散列表。给定表M,如果存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。
2024-05-12 15:20:42
919
原创 Redis持久化
redis是一个高性能的Key-Value类型的数据库,提供了丰富的数据结构,并且将数据存储在内存当中,能够进行快速的读取和写入操作。因为redis的数据是存储在内存当中的,所以一旦服务器重启或者发生故障,就会导致redis的数据丢失。为了保证数据的安全性,我们需要对redis中的数据进行持久化操作。redis提供了两种数据持久化的基本方式,分别是RDB和AOF,我们可以在redis提供的配置文件中对持久化方式进行配置,采用不同的存储方式,会形成不同的数据存储文件。
2024-04-28 18:22:01
1017
原创 数据库设计范式
一个具有良好结构的数据库能够大大降低后期业务代码编写的难度,提高系统的可维护性和可扩展性。其实,数据库设计中处处体现着面向对象的思维,我们将对象的各个属性拆分成表中的字段,如果是一对一的关系,在原表的字段上建立关联(id name age);如果是一对多的关系,创建一个表,在新建的表中来表达一对多关系(一个文章中有多个照片,文章是一个对象,照片是文章的一个属性,但是这种属性和照片是一对多的关系,所以需要创建一个article_images表)。
2024-04-28 18:21:35
1044
原创 linux系统中启动MyCat问题总结
mycat需要JDK8作为支持,不能够使用JDK17我们在配置schema.xml文件的时候,一定要注意自己所使用的算法是如何实现的,可以在rule.xml中找到算法实现的配置文件进行更改。这篇博客到这里就结束了,学习中遇到问题很简单,想办法去解决就可以了。一起加油吧!!!
2024-04-01 20:58:42
1304
原创 深入学习MySQL1——体系结构、常见引擎、索引
深入学习MySQL后自己总结的笔记,本篇主要涉及MySQL体系结构、常见引擎和索引,希望可以帮助到大家,欢迎留言交流。
2024-04-01 20:57:59
1263
原创 观察者模式的理解和引用
观察者模式是一种使用频率非常高的设计模式,无论是移动应用、Web应用或者桌面应用,观察者模式几乎无处不在。它为实现对象之间的联动提供了一套完整的解决方案,凡是涉及一对一或者一对多的对象交互场景都可以使用观察者模式。
2024-03-16 15:31:44
1136
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人