自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【读书笔记】《Redis设计与实现(第二版)》:Part2 单机数据库的实现 (一)

本文是接着上一篇文章【读书笔记】《Redis设计与实现(第二版)》:Part 1数据结构与对象继续对书中内容的学习和总结,主要与redis中数据库的实现和提供的相关操作有关。9. 数据库9.1 服务器中的数据库redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数组中,db数组的每个项都是一个redis.h/redsiDb结构,每个redisDb结构代表一个数据库:struct redisServer{ // ... // 一个数组,保存.

2020-07-04 22:19:58 204

原创 【服务器编程】Linux多进程编程(二)

本文接这上一篇【服务器编程】Linux多进程编程(一)的内容介绍Linux多进程编程中常用的两种方式:共享内存和消息队列。本文的内容是阅读总结游双的《Linux高性能服务器编程》第13章“多进程编程“而来共享内存共享内存是最高效的IPC机制,因为它不涉及进程之间的任何数据传输。这种高效率带来的问题是,我们必须用其他辅助手段来同步进程对共享内存的访问,否则会产生竞态条件。Linux共享内存的API都定义在sys/shm.h头文件中,包括4个系统调用:shmget、shmat、shmdt和shmctl.

2020-07-04 22:08:51 149

原创 【服务器编程】Linux多进程编程(一)

多进程编程进程是Linux操作系统环境的基础,它控制着系统上几乎所有的活动。以下我们将探讨Linux多进程编程,包括如下内容:复制进程映象的fork系统调用和替换进程映象的exec系列系统调用。僵尸进程以及如何避免僵尸进程。进程间通信在进程间传递文件描述符的通用方法本文的内容是阅读总结游双的《Linux高性能服务器编程》第13章“多进程编程“而来fork系统调用#include <sys/types.h>#include <unistd.h>pid_t f

2020-06-13 18:40:56 205

原创 【服务器编程】Linux多线程编程(pthread)

本文讨论的线程相关的内容都属于POSIX线程(简称pthread)标准,线程库是NPTL(Native POSIX Thread Library),以下的具体包括:创建线程和结束线程读取和设置线程属性POSIX线程同步方式:POSIX信号量、互斥锁和条件变量Linux线程概述线程模型线程是程序中完成一个独立任务的完整执行序列,即一个可调度的实体。根据运行环境和调度者的身份,线程可分为内核线程和用户线程。内核线程,有的系统上称为“轻量级线程”,运行在内核空间,由内核来调度;用户线程运行在用户空

2020-05-30 21:10:56 368

原创 【设计模式C++实现】工厂模式和策略模式

前言连环的使用if/else或者switch语句来进行条件判断,在代码量不多的情况或者后续不需要怎么拓展和修改,维护起来还不算麻烦。但是,遇到一些比较复杂的项目,这种做法总会让人吐槽,显得十分的不优雅。例如这样的情况:class JudgeRole{public: std::string Judge( std::string roleName ) { std::string result = ""; if( roleName == "A" )

2020-05-23 19:22:33 533

原创 【读书笔记】《Redis设计与实现(第二版)》:Part 1数据结构与对象

Part1 数据结构与对象ch2 简单动态字符串1. SDS的定义2. SDS与C字符串的区别ch3 链表1. 链表和链表节点的实现2. redis链表特性ch4 字典1. 字典实现2. 哈希算法3. 解决键冲突4. rehash5. 哈希表的扩展与收缩6. 渐进式rehashch5 跳跃表1. 跳跃表的实现ch6 整数集合的实现1. 整数集合的升级ch7 压缩列表1. 压缩列表的构成2. 压缩列...

2020-04-22 23:13:58 826

原创 [Redis设计与实现] Part1. 数据结构与对象(1)

前言以下的内容是笔者阅读学习《redis设计与实现(第二版)》的一个读书笔记,主要是对书中提到的一些关键点进行归纳总结。此外,配合redis3.0的源码进行学习效果更佳。ch2 简单动态字符串redis没有直接使用C语言传统的字符串表示,而是自己构建了一种名为简单动态字符串(SDS)的抽象类型,并将SDS用作redis的默认字符串表示。在redis里面,C字符串只会作为字符串字面量用在...

2020-04-11 16:01:08 45

空空如也

空空如也

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

TA关注的人

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