自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis中的哨兵(Sentinel)

​ 上篇文章我们讲述了Redis中的主从复制(Redis分布式系统中的主从复制-CSDN博客),本篇文章针对主从复制中的问题引出Redis中的哨兵,希望本篇文章会对你有所帮助。

2024-07-21 21:53:33 2505

原创 Redis分布式系统中的主从复制

本篇文章主要对Redis的主从复制进行讲解。主要分析复制的原理,包括:建立复制、全量复制、部分复制、全量复制、心跳检测等。希望本篇文章会对你有所帮助。

2024-07-21 10:22:09 1054

原创 Redis中的持久化详解

本篇文章会对Redis的持久化进行详解。主要涉及到的方面有:redis为什么需要持久化、redis怎么进行的持久化、持久化的方式都有哪些、每种持久化方式的优缺点是什么、持久化的流程进行展开详解。希望本篇文章会对你有所帮助。

2024-07-14 22:53:36 1362

原创 Redis常用命令——Set、Zset篇

Redis 中的 Set 数据类型是一种无序且不允许重复元素的集合数据结构。⼀个集合中最多可以存储2^32 - 1个元素。Redis 除了支持集合内的增删查改操作,同时还支持多个集合取交集、并集、差集,合理地使用好集合类型,能在实际开发中解决很多问题。

2024-07-07 17:50:43 2008

原创 Redis常用命令——List篇

列表类型是用来存储多个有序的字符串,如下图所示,a、b、c、 d、e五个元素从左到右组成了一个有序的列表,列表中的每个字符串称为元素(element) ,一个列表最多可以存储2^32-1个元素。在Redis 中,可以对列表两端插入(push)和弹出 (pop),还可以获取指定范围的元素列表、获取指定索引下标的元素等。列表是一种比较灵活的数据结构,它可以充当栈和队列的角色,在实际开发上有很多应用场景。

2024-06-01 22:33:04 3768

原创 Redis常用命令——Hash篇

前面我们讲述了String的相关操作命令。本篇文章主要讲解Redis中数据结构Hash的相关操作命令。希望会对你有所帮助。

2024-05-28 20:45:58 3308 10

原创 Redis常用命令——String篇

前面我们讲解了一些Redis 的全局命令(Redis常用基本全局命令)。所谓全局命令,就是可以匹配任意一个数据结构进行使用。但是不同的数据结构,也有自己的操作命令。本篇文章主要讲解的是 String的操作命令,希望会对你有所帮助。|

2024-05-24 18:16:01 1112

原创 Redis中的数据结构与内部编码

本篇文章主要是对 Redis 常见的数据结构进行讲解,同时还对其所对应的不同的内部编码进行讲解。希望本篇文章会对你有所帮助。我们知道,redis是支持不同的数据类型的,而不同的数据类型底层所采用的数据结构也有所差异,同时不同的数据结构也会有不同的操作指令。。上篇文章讲解到的type指令,其返回值是key所对应的value的数据类型!

2024-05-22 20:32:39 986 1

原创 Redis常用基本全局命令

本篇文章对 Redis 的一些全局通用命令进行详解。主要涉及到的命令有get、set、keys、exists、del、expire、ttl、type。希望本篇文章会对你有所帮

2024-05-20 20:35:51 1065

原创 一文带你了解Redis是什么和Redis能做什么

本篇文章对redis是什么,和redis能用来干什么进行了详细的举例解释。同时也对分布式系统和八大架构的演进进行了解释说明。最后总结了redis的应用场景和优点。快进来阅读这篇详细的文章吧!

2024-05-19 16:02:34 1093

原创 仿muduo库实现one thread one loop式并发服务器

该项目目标是实现一个高并发的服务器。但并不是自己完全实现一个,而是仿照现有成熟的技术进行模拟实现。一些必备知识:线程、网络套接字编程、多路转接技术(epoll),另外还有一些小的知识,在本篇文章中会提前讲解。本项目主要分为多个模块来进行讲解,实际上就是一个个小的组件。通过这些组件,我们可以很快的搭建起来一个高并发式的服务器。

2024-03-19 18:57:48 1371

原创 docker镜像详解

我们一直说docker镜像,那么docker镜像到底是什么呢?Docker image 本质上是一个 read-only 只读文件, 这个文件包含了文件系统、源码、库文件、依赖、工具等一些运行 application 所必须的文件。我们可以把 Docker image 理解成一个模板, 可以通过这个模板实例化出来很多容器。image 里面是一层层文件系统 Union FS。联合文件系统,可以将几层目录挂载到一起,形成一个虚拟文件系统。

2024-01-29 15:38:28 1508

原创 docker镜像仓库详解(Docker Registry)

本片文章主要是对docker的镜像仓库进行了详解。其中包含了一些常用了 docker 指令,通过举例进行详解。也详细解释了镜像仓库的工作机制和常见的镜像仓库。也实际拉去和运行了一些镜像。希望本篇文章会对你有所帮助!

2024-01-04 21:34:21 7233 17

原创 docker入门概念详解

本篇文章对docker的一些基础概念和周边概念进行了详细解释。帮助你可以很好的理解docker是用来干什么的,docker是怎么工作的。其中有docker所运用到的技术解释,docker的不同发展版本,dokcer的架构,docker的生态等等详解。

2023-12-29 17:51:36 2690 13

原创 [MySQL] MySQL中的事物

本片文章对MySQL中的事物进行了详解。其中包含了事物的特性、为什么要有事物、查看事物版本支持、事物常见操作、事物的隔离界别等等内容进行详细举例解释。同时还深入讲解了事物的隔离性,模拟实现MVCC多版本并发控制,也讲解了RR和RC的本质区别。总结:其中隔离级别越严格,安全性越高,但数据库的并发性能也就越低,往往需要在两者之间找一个平衡点。不可重复读的重点是修改和删除:同样的条件你读取过的数据再次读取出来发现值不一样了。幻读的重点在于新增(insert):同样的条件,第1次和第2次读出来的记录数不一样。

2023-12-26 15:48:32 1375 43

原创 C/C++ 连接访问 MySQL数据库

本篇文章主要讲解使用C语言连接MySQL数据库,当然在C++中也能够使用,因为C++兼容C语言的。 前面我们已经讲述了MySQL的基础使用,现在我们来看一下如何使用语言来操作数据库。在实际开发中,语言连接MySQL是为了能够在编程语言中与MySQL数据库进行交互和操作。大部分情况我们都是通过语言连接MySQL,建立与MySQL数据库的连接,可以向MySQL数据库发送更新请求,如插入、更新或删除数据。

2023-12-23 21:14:44 3227 6

原创 [MySQL] MySQL中的用户管理

MySQL中的用户管理是指对数据库用户进行创建、授权、修改和删除等操作的过程。用户是MySQL数据库的访问身份,它们定义了连接到数据库的权限和限制。MySQL中也是有root用户和普通用户之分的。跟Linux一样,root用户就是所谓的超级用户,权限较大且基本上没有限制。普通用户都是我们自己后期创建的,权限相对较小且较多限制。

2023-12-20 10:00:00 785 7

原创 [MySQL] MySQL中的内外连接

在MySQL中,连接(Join)是用于在多个表之间建立关联关系的操作。内连接(Inner Join)和外连接(Outer Join)是最常见的连接类型。

2023-12-19 11:38:09 1248 8

原创 [MySQL] MySQL中的索引

在MySQL中,索引是一种数据结构用于提高查询效率和加速数据检索。创建索引可以加快数据库中表的查询操作,减少查询所需的时间和资源消耗。但是天下没有免费的午餐,。所以它的价值,在于提高一个海量数据的检索速度。到这里你可能依然对索引的概念是一种模糊的状态,后文我们会详细解释。看会此篇文章再来回头看索引的概念,相信你就会理解了。

2023-12-13 20:06:11 1819 41

原创 [MySQL] MySQL复合查询(多表查询、子查询)

前面我们学习了MySQL简单的单表查询。但是我们发现,在很多情况下单表查询并不能很好的满足我们的查询需求。本篇文章会重点讲解MySQL中的多表查询和一些复杂查询。希望本篇文章会对你有所帮助。

2023-12-08 13:23:50 3477 59

原创 [MySQL] MySQL中的内置函数

本篇文章主要是对MySQL中常见的内置函数进行了详细解释。例如有日期类函数、字符串类函数、数学类函数等等。希望本篇文章会对你有所帮助。

2023-12-07 15:26:17 886 29

原创 [MySQL] MySQL 表的增删查改

本篇文章对mysql表的增删查改进行了详细的举例说明解释。对表的增删查改简称CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除)。其中重点是对查询select语句进行了详细解释,并且通过多个实际例子来帮助你的理解。希望本篇文章会对你有所帮助。

2023-11-23 19:29:46 3084 52

原创 [MySQL] MySQL表的约束

表的约束很多,这里主要介绍如下几个:null/not null、default、comment、zerofill、primary key、auto_increment、unique key、foreign key。在前面的文章中提到了约束,是通过数据类型对字段产生的约束。但是数据类型约束很单一,需要有一些额外的约束,更好的,从业务逻辑角度保证数据的正确性。于是就引入了表的约束。

2023-11-18 15:43:41 2396 113

原创 [MySQL] MySQL中的数据类型

在MySQL中,数据类型用于定义表中列的数据的类型。在前面的几篇文章中,我们也会看到有很多的数据类型,例如:char、varchar、date、int等等。本篇文章会对常见的数据类型进行详细讲解。超级详细结合实例,希望会对你有所帮助。具体如下图:我们再来插入一些数据,具体如下图:通过上图可以看到,再插入数据时我们可以从set集合中一次选多个数据进行插入,也可一次只选一个数据。set集合设定只是提供了若干个选项的值,最终一个单元格中,设计可存储了其中任意多个值;

2023-11-14 20:07:04 2135 47

原创 Linux下的文件系统

文件可以被分为两种:内存文件(打开的文件)、磁盘文件(未被打开的文件)。在Linux操作系统中,内存文件和磁盘文件是两种不同的概念,它们在系统中的作用和存储方式都有所不同。下面将对这两种文件类型进行详细的解释和举例。通俗的理解内存文件:我们通常对文件进行读写时,都是需要先将文件打开,也就是加载到系统的内存中。同时对打开的文件创建对应的数据结构。,内存文件详解可参考文章(

2023-11-13 19:30:14 620 15

原创 [MySQL] MySQL表的基础操作

本文章主要对表的操作进行的详细讲解,下面对本文章所用到的语句进行一个简单的总结。field1 datatype1 [COMMENT '注释信息'],field2 datatype2 [COMMENT '注释信息'],field3 datatype3 [COMMENT '注释信息'])[CHARSET=字符集] [COLLATE=校验规则] [ENGINE=存储引擎];DESC 表名字;ALTER TABLE table_name RENAME [TO] 新表名字;

2023-11-12 19:55:57 792 44

原创 [MySQL] MySQL库的基础操作

本篇文章对数据库的创建、修改、删除等操作进行了距离详细解释。通俗易懂,超级简单。数据库的基本语句我们还是必要掌握的。这些也都是数据库入门基础必学的。下面文章我们再来详细解释一下数据库中的表的一些操作。

2023-11-09 19:41:15 1677 35

原创 【实战项目】高并发内存池(下)

本片文章主要是对高并发内存池实现的详解。​我们上篇文章(高并发内存池(上))介绍了向高并发内存池申请资源的整个过程,本篇文章我们将会对申请后的空间资源释放的整个流程。同时也会对我们自己实现的内存池进行性能测试和优化。​

2023-10-25 08:16:00 2189 88

原创 【实战项目】高并发内存池(上)

​本篇文章是实现一个高并发的内存池,他的原型是google的一个开源项目tcmalloc(tcmalloc源码),tcmalloc全称Thread-Caching Malloc,即线程缓存的malloc,是一种用于内存分配和管理的内存分配器(内存池)。这个项目旨在提高多线程应用程序的性能,实现了高效的多线程内存管理。

2023-10-23 15:11:38 1444 121

原创 【计算机网络】IP协议详解

网络层的IP协议主要负责从一台主机到另一台主机的数据传输提供决策。网络层并不会真正的传输数据。真正负责数据或者对数据进行传输的是数据链路层。在传输的过程中会有很多的细节问题,在下篇文章我们会对数据链路层能进行详细解释!

2023-10-14 11:43:41 4822 132

原创 【计算机网络】TCP协议与UDP协议详解

TCP的面向字节流是指它将数据视为连续的字节流,而不是将数据划分为离散的消息或数据包。这意味着在TCP连接中,数据被视为一系列无结构的字节,发送方和接收方之间没有明确的消息边界。这与UDP不同,因为UDP是面向数据报的,每个数据包都是独立的单元,有明确的边界。数据连续性TCP:数据在TCP连接中被视为一个无间断的字节流。发送的数据可以被拆分成多个小块,然后在接收端重新组装,但这一切都在传输层进行,上层应用程序不需要关心数据的分段和重组。

2023-10-11 11:21:44 4672 100

原创 【计算机网络】TCP三次握手四次挥手(超级详细)

TCP使用三次握手和四次挥手来建立和终止连接。为什么建立和终止连接还需要这么麻烦呢?TIME_WAIT状态都有那些细节?不使用三次握手行不行啊?等等问题细节都进行了详解!!!赶快进来参观吧!

2023-10-08 09:45:00 11114 117

原创 【计算机网络】HTTPS协议详解

HTTPS协议是对HTTP协议的一种扩展,它在HTTP的基础上加入了SSL/TLS协议进行数据加密和认证。这使得通过HTTPS传输的数据更加安全可靠通过使用HTTPS协议,数据在传输过程中得到了保护,有效防止了恶意攻击者窃听、篡改或伪造数据。这使得HTTPS成为保护网站安全和用户隐私的重要工具。首先什么是加密?加密的过程是什么?怎么将数据就保护起来了?后文会一一进行详细解释的。数据摘要(也称为数字指纹)是指通过一种算法将任意长度的数据转换成固定长度的二进制字符串。

2023-10-05 13:03:34 6787 124

原创 【计算机网络】HTTP协议详解(举例解释,超级详细)

假设你使用Web浏览器(例如Chrome)访问一个网页。当你在浏览器中输入网址并按下"Enter"键时,浏览器会向服务器发送一个HTTP请求。HTTP协议是一种用于在Web浏览器和Web服务器之间传输数据的应用层协议。它具有无状态、基于请求-响应模型、支持多媒体、可用于缓存、简单灵活等特点。

2023-10-03 10:40:28 12525 134

原创 网络基础入门(网络基础概念详解)

本篇文章主要是对网络初学的概念进行解释,可以让你对网络有一个大概整体的认知。网络是指将多个计算机或设备通过通信线路、传输协议和网络设备连接起来,形成一个相互通信和共享资源的系统。网络互联:把多台计算机互相连接起来,进行互相传输数据,进而完成数据共享。没有网络之前的你:在没有网络的情况下,数据也可以传输。可以通过使用数据线将两台设备(如计算机、手机或存储设备)直接连接在一起,可以实现数据传输。或者通过使用磁带或光盘等媒介来进行数据传输。不过这样传输的成本比较高。什么是报头呢?在计算机网络通信中,

2023-10-01 17:56:12 4915 31

原创 【Linux从入门到精通】多线程总结(线程池、线程安全问题和常见锁)详解

本篇文章主要是对线程池进行详解。同时引出了单例模式的线程池,也对线程安全问题进行了解释。其中包含了智能指针、STL容器、饿汉模式的线程安全。也对常见的锁:悲观锁(Pessimistic Locking)、乐观锁(Optimistic Locking)、互斥锁(Mutex Lock)、读写锁(Read-Write Lock)、自旋锁(Spin Lock)和条件变量(Condition Variable)进行了讲解。重点对读写锁进行了讲解。希望本篇文章会对你有所帮助。

2023-09-29 13:01:22 1030 20

原创 【Linux从入门到精通】信号量(信号量的原理与相关操作接口)详解

本篇文章重点对信号量的概念,信号量的申请、初始化、释放、销毁等操作进行讲解。同时举例把信号量应用到生产者消费者模型来理解。希望本篇文章会对你有所帮助。信号量(Semaphore)是操作系统中一种用于实现线程间同步与互斥的机制。它本质就是一个计数器,用于控制多个线程对共享资源的访问。信号量可以被视为一个简单的整数变量,并且可以进行原子操作,包括等待(wait)和释放(signal)。

2023-09-24 12:24:41 1174 30

原创 单例模式(饿汉模式 & 懒汉模式)与一些特殊类设计

单例模式是一种设计模式,用于确保在整个应用程序中只存在一个特定类的实例对象,该实例对象被所有程序模块共享。其主要目的是限制类的实例化操作,以确保在任何情况下都只能获得同一个实例。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息,这种方式简化了在复杂环境下的配置管理。设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。为什么会产生设计模式这样的东西呢。

2023-09-20 20:03:16 1010 4

原创 ​生产者消费者问题(互斥锁和条件变量的结合)

本篇文章对生产者消费者(模型)问题进行了详解。其中给出了基于阻塞队列的生产者消费者模型demo代码和对涉及到的条件变量与互斥锁的操作也进行了详细解释。解释了条件变量等待时,为什么还需要一把锁的问题。对生产者消费者(模型)问题进行总结,且解释了生产者消费者(模型)问题效率提升的所在。希望本篇文章会对你有所帮助。

2023-09-19 14:34:53 1535 44

原创 【Linux从入门到精通】线程互斥与互斥锁的使用与原理详解

上篇文章我们对线程 | 线程介绍&线程控制介绍后,本篇文章将会对多线程中的线程互斥与互斥锁的概念进行详解。同时结合实际例子解释了可重入与不被重入函数、临界资源与临界区和原子性的概念。希望本篇文章会对你有所帮助。

2023-09-16 12:06:53 1497 21

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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