自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 收藏
  • 关注

原创 Go语言--格式化输出输入、类型转换

Go语言--格式化输出输入、类型转换

2024-07-02 08:01:44 137

原创 Go语言数据类型--常量、iota枚举、数据类型分类

变量:程序运行期间,可以改变的量,变量声明需要var关键字。常量:程序运行期间,不可以改变的量,变量声明需要const关键字。

2024-07-02 08:01:18 456

原创 Go语言数据类型--变量

Go 语言中的函数名、变量名、常量名、类型名、语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode 字母)或下划线开头 后面可以跟任意数量的字母、数字或下划线。大写字母和小写字母是不同的:heapSont 和Heapsort 是两个不同的名字。

2024-07-01 07:54:06 426

原创 hello.go程序讲解、litelde的使用

Go语言基础hello.go程序讲解、以及基本的litelde的使用

2024-07-01 07:53:19 200

原创 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环境安装---附带每一步截图

window环境下安装go语言安装包,附带每一步截图

2024-06-30 08:43:39 213

原创 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

原创 [分布式网络通讯框架]----RpcProvider实现

Rpc框架提供的专门发布RPC服务方法的网络对象类--rpcprovider

2024-06-28 08:11:34 1138

原创 [分布式网络通讯框架]----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

原创 [分布式网络通讯框架]----集群与分布式的区别

单机聊天服务器,集群聊天服务器与分布式聊天服务器的对比 各自的优缺点

2024-06-25 08:01:28 313

原创 [分布式网络通讯框架]----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----为什么选择使用MySQL

为什么使用MySQL的人很多,MySQL有什么优势和功能能够如此广泛的被使用。

2024-06-23 09:13:51 509

原创 MySQL数据备份操作步骤

mysqldump 备份全部数据库,指定数据库,数据库中的表,按照条件进行备份,备份到指定服务器中以及数据的恢复

2024-06-22 09:03:02 1068

原创 MySQL数据备份的分类

所以为了保证数据的安全与一致性,需要定期对数据进行备份。冷热温数据备份、不同的存储引擎的支持情况,完全备份、部分备份、增量备份、差异备份以及对比,需要备份的数据

2024-06-22 08:32:35 456

原创 [分布式网络通讯框架]----Protobuf安装配置--附带每一步截图

为什么要使用Protobuf,protobuf的优势以及Linux环境中安装Protobuf,保姆级教程,附带每一步截图

2024-06-21 08:05:53 408

原创 MySQL----彻底卸载(附带每一步截图)

彻底卸载MySQL,保姆级教程,附带每一步截图。

2024-06-21 08:02:52 656

原创 MySQL----利用Mycat配置读写分离

MySQL 利用Mycat配置读写分离

2024-06-20 07:55:47 988

原创 MySQL----配置主从复制

MySQL配置主从复制 master--Linux slave----windows10

2024-06-20 07:53:38 413

原创 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----InooDB行级锁、间隙锁

行锁,也称为记录锁,顾名思义就是在记录上加的锁。

2024-06-18 08:20:59 421

原创 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----脏读、不可重复读、幻读

事务处理不经隔离,并发执行事务时通常会发生脏读、不可重复读、幻读的问题。

2024-06-16 09:15:12 159

原创 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关注的人

提示
确定要删除当前文章?
取消 删除