自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(454)
  • 资源 (52)
  • 收藏
  • 关注

原创 ubuntu解决“E: Unable to locate package lrzsz“

ubuntu解决Unable to locate package

2024-02-19 15:51:28 414

原创 cpu的指令重排,禁用办法

cpu指令重排

2023-10-08 00:04:24 3051

原创 volatile关键字总结

c++的volatile关键字

2023-10-06 23:56:13 2963

原创 golang的切片使用总结二

golang切片使用总结

2023-10-05 20:47:39 5995 1

原创 golang的切片使用总结一

golang切片使用总结

2023-10-05 19:30:05 403

原创 diskqueue第六篇 - 如何使用diskqueue,示例

diskqueue如何使用

2023-09-10 17:50:06 155

原创 diskqueue第五篇 - 追尾检测,错误处理,如何正常关闭

diskqueue的追尾检测和错误处理

2023-09-10 15:31:37 212

原创 diskqueue第四篇 - 怎么写入消息,怎么对外发送消息

nsq中diskqueue详解

2023-09-05 14:12:01 193

原创 diskqueue第三篇 - 基本数据定义,运转核心ioloop()源码详解

nsq中diskqueue详解

2023-09-03 18:40:17 491

原创 diskqueue第二篇 - 元数据文件,数据文件,启动入口,元数据文件读写和保存

nsq中diskqueue详解

2023-09-03 16:18:37 326

原创 c++中i++和++i的区别

i++和++i的区别

2023-08-26 10:49:20 1612

转载 malloc 的实现原理

malloc原理详解

2023-08-18 15:29:33 509

原创 diskqueue第一篇 - 是什么,为什么需要,nsq在哪里使用了它,整体架构图,对外接口

nsq中diskqueue详解

2023-08-14 16:22:20 305

原创 protobuf中zigzag编码原理

zigzag编码实现原理

2023-08-08 18:27:39 237

原创 varint原理 - 负数的编码和解码

varint编码负数

2023-08-08 15:32:40 170

原创 varint原理 - 正数的编码和解码

varint原理

2023-08-07 17:27:50 502

原创 go语言使用chan的小技巧

go语言chan的使用技巧

2023-08-06 10:43:45 282

原创 nsqd的架构及源码分析

nsq源码分析,nsqd启动流程

2023-08-03 15:16:12 1185

原创 nsq的目录锁,源码分析

有点意思的事,dirlock包对不同的系统实现不同,但是只有linux下dirlock.go真正有实现,另外的illumos.go,dirlock_windows.go的实现都是空的。要注意的是:nsqd,nsqlookupd,nsqadmin等所有进程都是使用了go-svc包,这个包很简单,就是三个函数 Init(), Start(), Stop(),各个使用者实现了这三个接口就行。nsqd进程在关闭的时候,会调用Stop()函数,函数内部会调用dl.Unlock()对目录进行解锁,代码如下。

2023-08-02 16:18:00 168

原创 golang文件锁,目录锁,syscall包的使用

golang 文件锁/目录锁的实现

2023-07-28 17:49:31 1131 3

原创 nsq整体架构及各个部件作用详解

nsq整体架构图介绍

2023-07-27 11:23:14 938 2

原创 nsq中MessageID是怎么生成的

nsq中MessageID的生成方式

2023-07-24 11:30:44 219

原创 详解go的hex.Encode原理

详解golang的hex.Encode原理

2023-07-23 16:22:50 735

原创 硬中断、软中断详解

硬中断、软中断详解

2023-07-19 14:07:56 928

原创 win10下解决git报错 Permission denied(publickey)

win10环境下出现 Permission denied (publickey)的接近办法

2023-07-18 15:22:21 8129

原创 利用rand5得到rand7

根据rand5得到rand7

2023-07-18 10:36:42 464

转载 nsq存在的缺陷

nsq存在的问题及缺陷

2023-07-17 15:43:15 230

原创 linux环境搭建nsq集群

须通过-broadcast-address参数附带上自己机器的IP(这个参数会注册到nsqlookupd以区分不同的nsqd),且须指定三个nsqlookupd的tcp地址。但是单点进程一旦遇到断网,进程崩溃,机器重启,很容易就废了,所以线上环境更多用nsq集群,可用性更高。经过上面三步,nsq集群就搭建起来了,我们打开nsqadmin的网址,下面的192.168.136.128就是因为我们在这个机器上启动了nsqadmin。2. 下载nsq的安装包,解压好(上一篇博客我们在启动nsq单点中已有)

2023-07-17 11:46:11 450

原创 centos环境搭建nsq单点

centos安装nsq集群

2023-07-14 16:11:16 1628

转载 c++虚函数表、地址详解

c++虚函数表详解

2023-07-14 11:19:25 784

原创 虚函数表的地址

c++的多态是基于虚函数表来实现的

2023-07-14 11:03:36 293

转载 vmstat 命令

vmstat(Virtual Memory Statistics)命令用于报告虚拟内存状态的统计信息。vmstat 不仅可以监测虚拟内存,也可监测进程、物理内存、内存分页、磁盘和 CPU 等的活动信,是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。

2023-07-13 17:35:59 561

转载 iperf3使用说明

iPerf3 是一个非常强大的用于测试IP网络的最大带宽的工具。它支持设置调整各种参数,如时间,缓冲,协议等等,以支持得到被测的IP网络的在不同配置下的网络性能,得到各种性能指标如带宽,丢包率等等。iPerf3不后能兼容iperf,也和iperf没有共享源代码,是一个完全不同于iperf的全新工具。

2023-07-12 17:05:34 2034

转载 Redis——单线程与多线程模型原理

测试数据表明,如果在4核的时候,redis6.0的数据的QPS将变成20W。同时在8个I/O的thread的时候能够弥补内核和app之间的系统调用的损耗的。。Redis 在使用多线程模式之后性能大幅提升,达到了一倍。更详细的性能压测数据。模型缺陷。

2023-07-12 16:42:21 177

转载 Redis多线程IO源码分析-第三篇

遍历延迟读操作的客户端列表,获取每一个待处理的客户端client,item_id表示每个客户端的序号,从0开始,每处理一个客户端就增1,用序号对线程数server.io_threads_num取模,得到一个target_id,客户端会被加入到io_threads_list[target_id]对应的列表中,获取io_threads_list[0]中待处理的客户端列表,io_threads_list[0]存储的是主线程的数据,

2023-07-12 16:16:02 91

转载 Redis多线程IO源码分析-第二篇

上一篇我们分析了redis的多线程IO是如何启动创建的,也分析了IO线程函数内部的处理逻辑,这篇博客我们开始分析redis是如何决定client的延迟读写。

2023-07-12 16:15:03 56

转载 Redis多线程IO源码分析-第一篇

io_threads_list是一个数组,数组中的每一个元素是一个list,里面存储每个线程要处理的客户端列表,下标为0的元素也就是io_threads_lis[0]存储的是主线程要处理的客户端列表,这里先调用listCreate创建列表,为io_threads_list[i]初始化。2. 对server.io_threads_num的值进行判断,io_threads_num表示配置文件中设置的IO线程数量。,之后将线程保存在io_threads中,io_threads数组存储了创建的线程描述符。

2023-07-12 10:35:11 87

转载 谈谈Linux epoll惊群问题的原因和解决方案

然而由于select,poll没有可扩展性,存在O(n)O(n)问题,因此在带宽越来越高,服务器性能越来越强的趋势下,越来越多的代码将收敛到使用epoll的情形,所以有必要对其进行深入的讨论。”,显然,epoll_wait刚刚取到事件的时候的时候,不可能马上就调用accept去处理,事实上,逻辑在epoll_wait函数调用的ep_poll中还没返回的,这个时候,显然符合“仍然有未处理的事件”这个条件,显然这个时候为了实现这个语义,需要做的就是通知别的同样阻塞在同一个epoll句柄睡眠队列上的进程!

2023-07-12 09:46:39 169

原创 centos7安装、使用webbench

centos安装webbench

2023-07-11 17:10:58 244

原创 linux 系统errno 对应参考及代码

linux下errno的描述

2023-07-10 10:32:02 473

c++实现对象池测试.rar

由于boost的object_pool实现的效率有点低,所以笔者自己写了一个简单的对象池实现,windows和linuxs下通用,具体博客见 https://blog.csdn.net/yzf279533105/article/details/103177192

2019-11-21

TimerAxis.rar

刚入游戏行业时,看过别人写的定时器时间轮,视若珍宝,现在看来,都不够强大,不够完善,现在笔者贡献一份目前看来最强大,最完善的定时器时间轮代码,windows下,linux下都能运行。VS2015编译的,自带exe,下载后也可自行编译 具体使用博客见 https://blog.csdn.net/yzf279533105/article/details/102874405

2019-11-17

hiredis_example.rar

虽然hiredis已经封装得很简单了,但是要想满足实际使用中的各种需求,比如保存,读取结构体,list, set, zset之类的操作,还是封装一套简易的接口比较好,这里是笔者实际项目中用到的代码,非常可靠,特此贡献

2019-11-15

UID生成器.rar

参考雪花算法,用于分布式服务器之间生成唯一ID,笔者用到了自己的游戏中,支持16种服务器类型,每个服务器类型可以支持128个进程,每秒产生100万个UID

2019-11-03

csv_example.rar

本示例演示在windows下读取csv文件,代码清晰,使用简单,直接运行即可看到结果

2019-10-27

redis-x64-3.2.100.rar

大家知道,redis官方只支持linux平台,但是windows自己支持了redis,官方地址为:https://github.com/microsoftarchive/redis/releases 笔者下载了最新的稳定版安装包,redis3.2.1,供大家使用

2019-08-12

rapidjson测试.rar

本示例操作演示: 1. Value的新建及key的访问 2. 从字符串中解析json 3. 从文件中读取解析json 4.把json写入到文件

2019-06-03

编译多个可执行程序,需链接动态库静态库,且需先编译库,并且库与库之间存在依赖关系的makefile

本示例演示了编译多个可执行程序,需链接动态库,静态库,且需先编译库,并且库与库之间存在依赖关系的makefile的编写方式,makefile文件内部有详细的注释,目录下也有介绍文档,请务必按照里面的步骤操作,保证可以运行成功

2019-03-06

需链接动态库静态库,且先需编译库的makefile

本示例演示了需链接动态库静态库,且需要先编译动态库静态库的makefile编写方式,makefile文件内部有详细的注释,目录下也有介绍文档,希望大家在遇到这种情况时,把本示例稍作修改,就可以运行起来

2019-03-04

luabind_example_windows下代码示例.rar

luabind-0.9.1在windows下的示例代码,内部包含了lua,boost的代码,且已编译完成,下载后即可运行,也可以自己重新编译,可以随意修改代码

2018-04-22

luabind-0.9.1_linux下示例.zip

luabind-0.9.1在linux下的示例代码,内部包含了lua,boost的代码,且已编译完成,下载后即可运行,也可以自己重新编译,可以随意修改代码

2017-11-27

luabind_example_windows下示例.rar

luabind-0.9.1在windows下的示例代码,内部包含了lua,boost的代码,且已编译完成,下载后即可运行,也可以自己重新编译,可以随意修改代码

2017-11-26

luabind-0.9.1 动态库 静态库

这里是笔者在博客中作为示例编译出来的luabind-0.9.1的动态库和静态库,可以拿去直接使用。编译的博客地址为:http://blog.csdn.net/yzf279533105/article/details/78483160

2017-11-08

luabind-0.9.1.tar.gz 安装包

luabind-0.9.1.tar.gz,来自luabind官方,笔者已经测试过

2017-11-08

lua-5.2.0 安装包

lua-5.2.0.tar.gz,来自lua官方,本来想设置成0积分下载的,但是csdn不让,至少2分。。。

2017-11-08

lua-5.1.5安装包

lua-5.1.5.tar.gz,本来想设置为0分下载的,但是csdn不让,至少0分,没办法,可能是因为我的积分太多了吧

2017-11-08

luabind-0.9.1_VS2008_编译出的库文件

luabind-0.9.1, 使用VS2008命令行编译出来的Debug版的库文件(dll和lib)和Release版的库文件(dll和lib)

2017-11-05

luabind-0.9.1.zip

luabind-0.9.1.zip

2017-09-03

Win7_VS2008_lua_5.1.5.zip

Win7_VS2008_lua_5.1.5.zip

2017-09-03

lua-5.1.5.tar.gz

lua-5.1.5.tar.gz

2017-09-03

lua5.1静态库

内含VS工程,lua的源文件,编译出来的库文件,可自行重新编译debug版或者release版

2017-09-01

lua-5.1.tar.gz

lua-5.1.tar.gz

2017-09-01

lua-5.2.0静态库+动态库.zip

lua-5.2.0静态库+动态库.zip

2017-08-25

linux下lua5.2.0静态库

linux下lua5.2.0静态库

2017-08-25

VS2013_lualib_Debug.zip

VS2013_lualib_Debug.zip

2017-08-24

protobuf25.1

protobuf25.1,linux版本,64位,截止2023年12月25日,最新

2023-12-25

go1.19 64位安装包

go1.19 64位安装包,来自官方

2022-09-02

operate_xlsx.zip

该资源演示了golang语言读取xlsx文件,新建,写入,保存xlsx文件,在根目录下执行go build -v -o operate即可编译

2021-12-23

goland.rar(不需安装)

goland安装包,版本2019.3.1

2021-12-04

c++实现的无锁环形队列

1. c++实现的无锁环形队列,注释详细,讲解了环形队列的实现原理和操作技巧 2. 在linux服务器下,可以自己编译,运行,也可以修改参数后做测试 3. 编译的命令如下:g++ -std=c++11 -o test main.cpp ring_buffer.cpp -pthread -I./ 4. 编译出可执行程序 test,然后执行./test即可 5. 可参考笔者的这篇博客:https://blog.csdn.net/yzf279533105/article/details/121128176

2021-11-05

hiredis_example.rar

代码使用hiredis,封装了对redis的一些操作,包括事务,见文件redis_client.h中函数:Transaction()

2021-07-02

hiredis_example.zip

简单的set, get命令,使用管道可以提高效率800%左右,这里有测试代码。配置环境比较复杂,不建议重新编译运行,只看代码实现即可

2021-05-24

go1.13.linux-amd64.tar.gz

截止2010年1月14日,来自go官方最新安装包,linux,64位,版本1.13,已经设置0积分可下载

2020-02-14

zzqserver20191230.rar

笔者自己的自走棋游戏,初步实现了demo,战斗系统尚未完全结束,内部有gate服,center服,game服,login服,简单,稳定,截至时间:2019-12-30 14:46

2019-12-30

mineclearserver.rar

笔者自己的扫雷游戏,已经实现了demo,内部有gate服,center服,game服,login服,简单,稳定 截至时间:2019-12-30 14:40

2019-12-30

redis-4.1.3.gem

ruby脚本的管理工具,gem包对redis的支持必须,具体使用博客参见笔者的这篇博客:https://blog.csdn.net/yzf279533105/article/details/103696990

2019-12-25

redis-4.0.14.tar

redis-4.0.14版本,来自官网,已经设置为0分,方便大家下载,基于此板板的集群部署示例请参见:https://blog.csdn.net/yzf279533105/article/details/103696990

2019-12-25

ruby-2.6.5.tar

来自官方最新的2.6.5版本,在解压后进入目录直接./configure make make install即可

2019-12-20

自走棋_example.rar

自走棋demo,epoll服务器,完整版,笔者已经测试完成,单个网关可支持3000+在线,特别是网关服稳定可靠。多个无状态服务器,利用redis做集群

2019-11-21

zzqserver.rar

epoll服务器,完整版,笔者已经测试完成,单个网关可支持3000+在线,特别是网关服稳定可靠。多个无状态服务器,=使用redis

2019-11-21

空空如也

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

TA关注的人

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