- 博客(138)
- 收藏
- 关注
原创 Go语言数据类型--常量、iota枚举、数据类型分类
变量:程序运行期间,可以改变的量,变量声明需要var关键字。常量:程序运行期间,不可以改变的量,变量声明需要const关键字。
2024-07-02 08:01:18
456
原创 Go语言数据类型--变量
Go 语言中的函数名、变量名、常量名、类型名、语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode 字母)或下划线开头 后面可以跟任意数量的字母、数字或下划线。大写字母和小写字母是不同的:heapSont 和Heapsort 是两个不同的名字。
2024-07-01 07:54:06
426
原创 LitelDE安装---附带每一步截图以及测试
LitelDE安装---附带每一步截图以及测试,LiteIDE 是一款专为Go语言开发而设计的开源、跨平台、轻量级集成开发环境(IDE),基于 Qt 开发(一个跨平台的 C++ 框架),支持 Windows、Linux 和 Mac OS X 平台。LiteIDE 的第一个版本发布于 2011 年 1 月初,是最早的面向Go语言的 IDE 之一。至今为止,LiteIDE 已经发布到版本 X38。
2024-06-30 08:45:02
591
原创 Go语言简介
Go语言是由 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言(或称 Golang)是。Go语言的诞生是为了让程序员有更高的生产效率,Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美 C或 C++代码的速度,而且更加安全、支持并行进程。开发人员在为项目选择语言时,不得不在快速开发和性能之间做出选择。
2024-06-29 08:22:29
318
原创 [分布式网络通讯框架]----MprpcController以及Logger类
在calluserservice.cc中,使用注意到其中有一个controller对象,这个是由类定义出来的对象,那么这个类的作用是什么呢?
2024-06-29 08:20:11
848
原创 [分布式网络通讯框架]----MprpcChannel以及ZkClient实现
UserServiceRpc_Stub类以及Rpcchannel类的底层实现
2024-06-28 08:10:09
795
原创 [分布式网络通讯框架]----MprpcApplication实现
分布式网络通讯框架-MprpcApplication实现 重要成员函数,重要成员变量 逐行分析
2024-06-27 07:58:55
333
原创 [分布式网络通讯框架]----业务层代码
分布式网络通信框架 业务层代码 user.proto userservice.cc calluserservice.cc 重要成员函数以及重要成员变量 逐行分析
2024-06-27 07:57:19
630
原创 [分布式网络通讯框架]----protobuf定义方法类型以及底层基本框架
option cc_generic_services=true的使用,以及UserServiceRpc类(服务提供方使用)和 UserServiceRpc_Stub类(服务调用方使用)=》protobuf底层的框架
2024-06-26 07:57:06
524
原创 [分布式网络通讯框架]----RPC通信原理以及protobuf的基本使用
(Remote Procedure Call Protocol)远程过程调用协议。rpc的特点以及rpd在分布式服务框架中起的作用 项目目录解析以及protobuf的基本使用方法
2024-06-26 07:54:46
526
原创 [分布式网络通讯框架]----Zookeeper的原生开发API(C/C++接口)
Zookeeper的原生开发API(C/C++接口),如何生成Zookeeper的原生开发API,以及Zookeeper的原生开发API接口存在的问题
2024-06-25 08:00:39
425
原创 [分布式网络通讯框架]----Zookeeper客户端基本操作----ls、get、create、set、delete
Zookeeper客户端基本操作----ls、get、create、set、delete 附带每一步操作截图
2024-06-24 08:04:19
189
原创 [分布式网络通讯框架]----ZooKeeper下载以及Linux环境下安装与单机模式部署(附带每一步截图)
Zookeeper下载与安装 保姆级教程,附带每一步截图首先进入点击中间的see all Projects->Project List菜单项进入页面找到zookeeper,进入在Zookeeper主页的顶部点击菜单Project->Releases,进入Zookeeper发布版本信息页面。
2024-06-24 08:03:11
1439
原创 Zookeeper简介
ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册等服务。什么是ZooKeeper ,ZooKeeper 的三种模式,ZooKeeper 的主要功能,ZooKeeper 的特点以及什么是CAP ,一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)。
2024-06-23 09:45:26
1222
原创 MySQL数据备份的分类
所以为了保证数据的安全与一致性,需要定期对数据进行备份。冷热温数据备份、不同的存储引擎的支持情况,完全备份、部分备份、增量备份、差异备份以及对比,需要备份的数据
2024-06-22 08:32:35
456
原创 [分布式网络通讯框架]----Protobuf安装配置--附带每一步截图
为什么要使用Protobuf,protobuf的优势以及Linux环境中安装Protobuf,保姆级教程,附带每一步截图
2024-06-21 08:05:53
408
原创 MySQL----undo log回滚日志原理、流程以及与redo log比较
回滚日志,保存了事务发生之前的数据的一个版本,用于事务执行时的回滚操作,同时也是实现多版本并发控制(MVCC)下读操作的关键技术。
2024-06-19 08:19:38
1033
原创 MySQL----redo log重做日志原理及流程
redo log:重做日志,用于记录事务操作的变化,确保事务的持久性。redo log是在,不管事务是否提交都会记录下来,在异常发生时(如数据持久化过程中掉电),InnoDB会使用redo log恢复到掉电前的时刻,保证数据的完整性。
2024-06-19 08:04:14
548
原创 MySQL----InnoDB表级锁、死锁以及锁的优化条件
在绝大部分情况下都应该使用行锁,因为事务和行锁往往是选择InnoDB的理由,但个别情况下也使用表级锁;
2024-06-18 08:26:18
416
原创 MySQL----表级锁&行级锁&排它锁和共享锁&意向锁
如果发现该表上存在意向共享锁,说明表中某些数据行上存在共享锁,事务 B 申请的写锁会被阻塞。允许获得该锁的事务读取数据行(读锁),同时允许其他事务获得该数据行上的共享锁,并且阻止其他事务获得数据行上的排他锁。的共享锁S或者排它锁X,如何确定这张表没有被其它事务获取过X锁!,又称为X 锁,写锁。允许获得该锁的事务更新或删除数据行(写锁),同时阻止其他事务取得该数据行上的共享锁和排他锁。,事务在给一行记录加共享锁前,必须先取得该表的IS锁。,事务在给一行记录加排他锁前,必须先取得该表的IX锁。
2024-06-17 08:41:25
1288
原创 MySQL----事务的隔离级别(附带每一级别实例截图)
例如当事务A和事务B并发执行时,当事务B查询读取数据后,事务A新增或者删除了一条满足事务B查询条件的记录,此时事务B再去查询,发现查询到前一次不存在的记录,或者前一次查询的一些记录不见了。例如当事务A和事务B并发执行时,当事务B查询读取数据后,事务A更新操作更改事务B查询到的数据,此时事务B再次去读该数据,发现前后两次读的数据不一样。例如当事务A和事务B并发执行时,当事务A更新后,事务B查询读取到A尚未提交的数据,此时事务A回滚,则事务B读到的数据就是无效的脏数据。(事务B读取了事务A尚未提交的数据)
2024-06-17 08:23:32
1125
原创 MySQL----事务
MySQL 事务主要用于处理操作量大,复杂度高的数据。比如,在学校管理系统中,我们删除一个学生,既需要删除学生的基本资料,也要删除和该学生相关的信息,如班级,考试成绩等等,这样,这些数据库操作语句就构成一个事务!
2024-06-16 09:08:04
1121
原创 MySQL----慢查询日志
MySQL可以设置慢查询日志,当SQL执行的时间超过我们设定的时间,那么这些SQL就会被记录在慢查询日志当中,然后我们通过查看日志,用explain分析这些SQL的执行计划,来判定为什么效率低下。
2024-06-15 16:35:41
431
原创 MySQL-----InnoDB的自适应哈希索引
InnoDB存储引擎监测到同样的二级索引不断被使用,那么它会根据这个二级索引,在内存上根据二级索引树(B+树)上的二级索引值,在内存上构建一个哈希索引,来加速搜索。
2024-06-15 16:28:57
499
原创 MySQL----索引的底层实现和原理
在前面的文章中,我们分析了索引的分类、创建、删除以及索引的创建原则等,知道了创建索引的目的就是为了加速对表中的数据行的检索而创造的一种分散存储的数据结构。那么索引的底层结构是什么呢?
2024-06-14 08:27:36
1238
原创 MySQL----主键、唯一、普通索引的创建与删除
查询频繁的字段应该作为索引。索引的目的就是提高检索效率,如果某个字段被频繁使用,使用字段作为检索条件时就有必要提高检索效率。不作为检索条件的,不适合作为索引。如果该字段都不会作为条件用于检索,只会出现在结果中,那该字段不适合作为索引。如果一个主键是自增长的,不能直接删除该列的主键索引,应当先取消自增长,再删除主键特性。更新频繁的字段不适合作为索引。索引的高效是以增删改的效率为代价的。
2024-06-14 08:03:06
835
原创 MySQL----索引
当表中的数据量到达几十万甚至上百万的时候,SQL查询所花费的时间会很长,导致业务超时出错,此时就需要用来加速SQL查询。
2024-06-13 09:07:47
1366
原创 MySQL----常见的存储引擎
InnoDB: 支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。MyISAM: 插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用。
2024-06-13 08:34:11
993
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人