陈松的技术博客

阅读使人充实,会谈使人敏捷,写作使人精确

MySQL的InnoDB的数据存储原理分析

MYSQL的优化原理分析

前言 正文 1, InnoDB行记录格式 InnoDB存储引擎和大多数据库一样,记录是以行的形式存储的。 这意味着页中保存着表中一行行的数据。到MySQL5.1时,InnoDB存储引擎提供了Compact和Redundant两种格式来存放行记录数据,Redundant是为兼容之前版本而保留的,如果你阅读过InnoDB的源代码,会发现源代码张红是用PHYSICAL RECORD(NEW ...

MySQL的存储引擎的使用场景分析

适用场景

前言 MySQL在我们日常开发中经常使用存储数据使用, 但是出现问题优化和存储引擎的选择适合我们实际业务场景,就要对MySQL的存储索引的原理要有所了解。 正文 一, MySQL的存储引擎介绍 ① InnoDB存储引擎 InnoDB存储引擎支持事务,主要面向在线事务处理(OLTP)方面的应用。其特点是行锁设计,支持外健,并支持类类于Oracle的非锁定读,即默认情况下读取存储不...

优雅的交流的注意点

能量的发源地-潜意识

前言 工作中要和不同人交流, 就需要如何带动周围人积极性,需要个人的领导能力和积极心态。 正文 一, 优雅的交流 交流时亲切自然,话题力求轻松活泼,是成为一个善于言辞的健谈必须修炼的第一步。发自内心的真挚, 热忱与同情心能够推动在场的所有人,也是牢牢吸引住听从的注意的最佳办法。所以,你还得富于同情心, 二, 积极的情感 欲望 信心 爱 性 热忱 ...

Libevent的事件驱动源码分析(三)

反应堆的设计

前言 网络编程使用基本都是反应堆(reactor) 著名C++标准的Boost中asio使用reactor模式, 它的io线程是安全的, libevent使用io也使用该模式 正文 一, reactor模式 1, 采用基于事件驱动的设计,当有事件触发时,才会调用处理器进行数据处理。 Reactor:负责响应IO事件,当检测到一个新的事件,将其发送给相应的Handler去处理。...

Libevent的事件驱动源码分析(二)

多线程支持

前言 libevent线程是不安全的, 现在服务器都是多核的如何充分使用cpu就要使用多线程。 正文 一, 谈谈libevent如何使用多线程呢 我们在上学的时候, 经常去学校的食堂吃饭。 有几种情况 1, 一个窗口排队等待打饭 一个窗口就相当于我们网络中io单线程的处理, 不会出现惊群效应(linux 3.0+ epoll这个问题已经解决了) ,这个效率会比较底下, 学生排队的...

Libevent的事件驱动源码分析(一)

事件驱动源码分析

前言 Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqu...

游戏服务器功能模块

服务器

前言 正文 一, 游戏服务器之内存调优 二, 游戏服务器之内存池分配 三, 游戏服务器之任务系统 四, 游戏服务器之红点功能 五, 游戏服务器之聊天系统 六, 游戏服务器之地图系统 七, 游戏服务器之NPC 八, 游戏服务器之成就功能 九, 游戏服务器之排行榜 十, 游戏服务器之宠物功能 十一, 游戏服务器之load配置文件 十二, 游戏服务器之技能系统篇 十三, 游戏服务器之定时器 十...

德州扑克和短牌的算法分析

算法分析

前言 最近由于公司的业务的扩展 增加短牌玩法, 这个短牌算法我在github上找很长时间都没有找到开源了。 最后我只能自己写短牌的算法,说的挺哄人的其实我也是有参考德州扑克的算法的。 正文 一, 分析扑克数据 1, 一张牌在内存怎么存放的 红桃A是放在int类型中 int是32字节内存存放 高16存放牌的大小 |颜色|牌的值|低8位存放牌映射数的大小 0000 0000 00...

突破FD_SETSIZE限制的连接数

boost库的asio的中fd_set的适配器的设计

前言 这个也我在公司的使用自己写库clib中在win上连接服务器时中只能连接63个的客户端,这个我一开始还以为是自己的配置文件中配置问题呢 就没有注意这个问题。 直到最近自己服务器上业务写完了, 需要压力测试时, 这个问题我可查有几天, 一开始我以为是自己编码中写死了呢, 为什么这样说呢! 在我的知识体系中select最大连接数是1024, 我找很长时间 最后在发现在win 上 FD_...

redis源码分析之跳跃表

skiplist

===================================================== redis源码学习系列文章: redis源码分析之sha1算法分析 redis源码分析之字典源码分析 redis源码分析之内存编码分析intset, ziplist编码分析 redis源码分析之跳跃表 redis源码分析之内存淘汰策略的原理分析 redis源码分析之对...