自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

记录一位C++爱好者的笔记

如果讲解不清楚一定要指正哦!

  • 博客(65)
  • 收藏
  • 关注

原创 MVCC在MySQL中实现无锁的原理

一个例子,带你读懂MVCC的原理!

2025-01-22 16:05:18 980

原创 C++八股文

虚基类是 C++ 中一种特殊的类,用于解决多继承所带来的“菱形继承”问题。如果一个派生类同时从两个基类派生,而这两个基类又共同继承自同一个虚基类,就会形成一个“菱形”继承结构,导致派生类中存在两份共同继承的虚基类的实例,从而引发一系列的问题。为了解决这个问题,我们可以将虚基类作为共同基类,并在派生类中采用虚继承的方式。虚继承会使得派生类中只存在一份共同继承的虚基类的实例,从而避免了多个实例之间的冲突。虚基类是可以被实例化的。

2025-01-15 16:23:21 818

原创 手把手带你学会使用GDB进行调试

讲解GDB最常用的一些方法,使用例子带你学会使用GDB!

2025-01-01 16:43:13 2773

原创 KV存储的数据库:RocksDB

在我们之前使用过的数据库中,我们都发现了,读取速度可以变快,但是对于写入速度,一直是一个问题,当大量写入进来的时候,我们写入的速度会变得很慢,因此FaceBook开发了一套可以发挥高速存储硬件性能的高效数据库系统。是一个C++的库,并且可以随便存储二进制的KV数据,并且支持原子读的操作。他的应用场景还是很广泛的:支持Redis协议的pika数据库,采用RocksDB持久化Redis支持的数据结构。还有MySQL中支持可插拔的存储引擎。

2024-12-18 08:00:00 1441

原创 内核级支持的分布式存储ceph

一:什么是cephceph是一种分布式存储系统, Ceph可以将多台服务器组成一个超大集群,把这些机器中的磁盘资源整合到一块 儿,形成一个大的资源池(支持PB级别),然后按需分配给客户端应用使用。我们之前讲过的FastDFS也是一个分布式的存储系统,但是FastDFS是一个弱一致性存储,而Ceph是一个强一致性存储。下面是ceph的一些特点:,称之为统一存储2.采用CRUSH 算法,数据分布均衡,并行度高,不需要维护固定的结构3.数据具有,确保所有副本写入完成后才返回确认,适合读多写少的场景4.

2024-12-18 08:00:00 771

原创 总结网络原理面试题

总结TCP,UDP,HTTP的一些面试题

2024-12-12 15:05:36 975

原创 关于服务器开发相关的面试题

然后创建一个JWT TOKEN,使用随机生成的key作为jwt的有效载体,将生成好的JWT Token返给前端,前端保存在本地,当访问后端服务时,前端需要在请求头中携带 jwt token,后端通过拦截器对请求进行拦截,校验token是否有效,如果token有效,则在jwt token的有效载体中获取key,然后使用该key在redis中查找是否存在,如果存在说明登录验证通过,如果不存在说明验证登录信息已过期。在这种情况下,应用程序需要确保MySQL和Redis中的数据是同步的,以确保数据的一致性。

2024-12-08 18:23:52 708

原创 总结FastDFS的面试题

FastDFS是一个开源的轻量级的分布式文件管理系统,简单来说就是存放文件的。因为是分布式,所以我们可以把文件放到多个系统中去,并且我们只需要一个系统即可控制多个系统的操作。并且还提供了高可用和负载均衡。

2024-12-08 18:23:14 718

原创 线程与进程的区别和应用场景,以及各种锁的使用

线程是系统调度和分派的基本单位。属于同一进程的线程,堆是共享的,栈是私有的。属于同一进程的所有线程都具有相同的地址空间。进程依赖于程序运行而存在,进程是动态的,程序是静态的;进程是操作系统进行资源分配和调度的一个独立单位。

2024-12-08 18:22:36 1361

原创 总结的一些MySql面试题

我们创建B+树类型的索引就是为了通过比较来找到我们所需要的数据,但是当区分度不高的时候,反而会降低速度,如果经常修改这个列,那么我们的B+的结构就要经常变化,更加影响速率,表的数据较少的时候,没有必要去创建索引,创建索引反而会浪费空间。2:索引分类:主键索引,唯一索引,非空索引,普通索引,组合索引,全文索引。首先是MySql的缓存方案,他自己的缓存方案和业务层面是没有关系的,虽然MySQl也是用来缓存热点数据的,但是这些热点数据并不是用户自定义的,而是索引,记录等。并且他的命令处理是在多线程中并发处理的。

2024-12-06 15:59:07 1037

原创 关于redis的面试题

总结一些redis的面试题

2024-12-06 15:58:55 843

原创 分布式FastDFS存储的同步方式

通过画图清晰的列举了同步以及拿取文件的过程,使用文字解释其中的过程!

2024-12-01 17:38:21 1380

原创 什么是 Token 和 MD5 ?

讲解Token和MD5还有Base64.并给出了简单的Token生成程序

2024-11-28 20:01:41 863

原创 http的文件上传和下载原理

讲解了文件上传和下载的原理

2024-11-28 20:00:58 3133

原创 简易的网络缓冲区

一个简单网络缓冲区的实现!

2024-11-26 11:30:01 286

原创 网络库:NetLib 的封装

我们将繁琐的网络代码,封装成一个简单的net_lib库。

2024-11-26 11:29:36 935

原创 刷到我,那就进来手撕线程池吧!万一忘记了呢

不会的和忘记的小伙伴,来我这里带你们手撕线程池!

2024-11-24 11:41:23 679

原创 MySql的异步连接池还不会?进来手把手带你写代码!

带大家手撕MySQl的异步连接池,了解思路后十分简单!

2024-11-24 11:40:40 1282

原创 C/C++精品项目之图床共享云存储(8):将项目最后变成多线程

今天把之前写的多线程加入了进去,提高并发量

2024-11-21 16:29:09 795

原创 C/C++精品项目之图床共享云存储(7):图片分享和浏览的优化,共享文件的排行榜

本期讲解,主要是将分享和共享给区别开来,以及对文件分享,浏览的优化,以及对共享文件排行榜问题的解决

2024-11-21 16:25:03 908

原创 C/C++精品项目之图床共享云存储(6):图片的共享,浏览,获取,以及短链的生成

这一篇把图片访问和短链的工作原理讲解了

2024-11-19 11:53:03 1253

原创 C/C++精品项目之图床共享云存储(5):FastDFS存储原理,文件的秒传

我们在本期中讲解了FastDFS上传的原理以及文件的秒传功能(md5校验)。

2024-11-19 11:42:36 680

原创 C/C++精品项目之图床共享云存储(4):注册,登录,token,排序文件

本篇主要讲解,注册,登录,token,获取文件的一些具体操作,其中比较重要的就是token,而其他的业务操作全都是和数据库打交道,将查询的结果返回到客户端这里。

2024-11-18 16:43:22 550

原创 C/C++精品项目之图床共享云存储(3):网络缓冲区类和main

在这里讲解了项目中的网络缓冲区和整体的流程。

2024-11-14 08:00:00 928

原创 C/C++精品项目之图床共享云存储(2):MySql连接池

本篇通过讲解图床项目中的MySql连接池,包含代码讲解和整体图片。

2024-11-13 20:24:58 1093

原创 C/C++精品项目之图床共享云存储(1):基础组件

我将我学的图床共享云存储的C++项目笔记,分享出来,供大家观看,最主要还是怕我自己忘记一些细节,因此记录下来。

2024-11-13 08:00:00 1221 2

原创 Docker网络和overlay的基础讲解

1:由于创建的容器加入默认网络之后,我们的容器IP是会发生变化的,我们此时通过pingIP地址是可以PIng通的,但是为了服务方便,我们不会去记住他们的ip地址,而是通过ping他们的服务名,但是我们通过在默认网络里面,去ping服务名,是ping不通的。因此我们需要实现自定义的网络,因为在自定义网络里面,在同一个网络中的容器IP地址,会被自动解析。这样我们就可以通过ping服务名即可通讯。2:我们在自定义网络的时候,我们还可以指定这个网络的网关,子网,ip,以及一些特定选项。

2024-11-12 08:00:00 1122

原创 DockerFile 的基础讲解

讲解Dockerfile的基础知识,通过几个小案例详细讲解。

2024-11-11 08:00:00 1252 1

原创 docker的介绍和一部分基础命令

docker的简要介绍和一部分命令。最后贴出了一篇详细的命令网址。

2024-11-10 08:00:00 1019

原创 网络引擎 WorkFlow 的基础讲解

搜狗公司C++服务器引擎,编程范式。支撑搜狗几乎所有后端 C++在线服务,包括所有搜索服务,云输入法,在线广告等,每 日处理数百亿请求。这是一个设计轻盈优雅的企业级程序引 擎,可以满足大多数后端与嵌入式开发需求。

2024-11-09 08:00:00 1140

原创 高性能Web网关:OpenResty 基础讲解

使用高性能 openresty 写 nginx 的模块十分方便!Lua的使用,重新定向,黑名单,负载均衡等。

2024-11-08 08:00:00 1818

原创 Lua进阶用法之Lua和C的接口设计

本篇主要讲解Lua和C之间相互调用的接口设计

2024-11-07 08:00:00 1688

原创 Lua的基础使用

本篇主要讲解Lua的基础使用方法

2024-11-06 08:00:00 2135 1

原创 轻量级游戏服务器框架:skynet的原理讲解

skynet的基础讲解,Lua的快速上手!

2024-11-05 08:00:00 2245 1

原创 FastDFS的简单使用

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。Tracker是FastDFS的协调者,负责管理所有的storage server和group,每个storage在启动后会连接 Tracker,告知自己所属的group等信息,并保持周期性的心跳,tracker根据storage的心跳信息,建立 group==>[storage server list]的映射表。什么是分布式文件系统?

2024-11-04 09:21:31 920 1

原创 Nginx的基础讲解之重写conf文件

Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

2024-10-03 11:59:32 1414 1

原创 gRPC基础讲解

RPC 即远程过程调用协议(Remote Procedure Call Protocol),可以让我们像调用本地函数一样发起远程调用。RPC 凭借其强大的治理功能,成为解决分布式系统通信问题的一大利器。gRPC是一个现代的、高性能、开源的和的通用 RPC 框架(g就是谷歌的意思),基于 HTTP2 协议设计,序列化使用 PB(Protocol Buffer),PB 是一种语言无关的高性能序列化框架,基于 HTTP2+PB 保证了的高性能。上面的图就是一个客户端远程连接一个服务器,调用它的函数。

2024-09-28 11:38:42 3164

原创 KafKa的存储机制和可靠性

我在我的上篇文章中,写到了,其他的几款产品,其中与最接近的是,他们两个都支持高吞吐,并且吞吐量达十万级。但是KafKa是为了解决大数据的实时日志流而生的,每天要处理的日志量级在千亿规模。对于日志流的特点主要包括:1、数据实时产生2、海量数据存储与处理所以kafka必然面临分布式系统所遇到的高并发、高可用、高性能等三高问题。对于大数据产生的日志来说要保证以下几点:1、存储的主要是消息流。2、要支持海量数据的高效存储,高持久化(设备重启之后保证数据的不丢失)。

2024-09-26 18:42:21 1246

原创 消息队列和KafKa

消息 + 队列 (Message + Queue) 简称MQ。消息队列本质就是个队列,FIFO先入先出,只不过队列中存放的内容是Message,从而叫消息队列。消息队列的主要用途就是在不同的服务、进程、线程之间进行通信。解耦:允许我们独立的扩展或修改队列两边的处理过程。可恢复性:即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。缓冲:有助于解决生产消息和消费消息的处理速度不一致的情况。灵活性和峰值处理能力:不会因为突发的超负荷的请求而完全崩溃,消息队列能够使关键组件顶住突发的访问压力。

2024-09-24 08:55:15 1418

原创 MySQL的缓存策略

用户直接从。

2024-09-20 17:20:20 1618

空空如也

空空如也

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

TA关注的人

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