自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

czrzchao的博客

我有一瓢酒,可以慰风尘

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

原创 链家新房性能挑战赛小结

近来参加了部门举办的接口性能挑战大赛,导致redis源码的博客一直没有更新。不过收获颇丰,特作此小结。比赛介绍规则规则比较简单,根据提供的基础数据,实现一个http查询接口,返回内容为json且格式固定。在100并发、5000总请求下保证数据正确性,QPS高者胜。 禁⽌使⽤Load balance,在自己的开发机搭建单机服务。 开发机的配置为:单核cpu、4G内存、40G磁

2018-01-19 18:51:51 384

原创 redis源码解读(八):redis对象

近来在研读redis3.2.9的源码,虽然网上已有许多redis的源码解读文章,但大都不成系统,且纸上学来终觉浅,遂有该系列博文。部分知识点参照了黄建宏的《Redis设计与实现》。定义在自定义的基础数据结构的基础上,redis 通过 redisObject 封装整合成了对外暴露的5中数据结构。 首先看看 redisObject 的定义: #define LRU_BITS 24

2018-01-06 20:15:05 669

原创 redis源码解读(七):基础数据结构之skiplist

近来在研读redis3.2.9的源码,虽然网上已有许多redis的源码解读文章,但大都不成系统,且纸上学来终觉浅,遂有该系列博文。部分知识点参照了黄建宏的《Redis设计与实现》。前言本文探究的数据结构并不是 redis 对外暴露的5种数据结构,而是redis内部使用的基础数据结构,这些基础的数据结构 redis 不仅和 redisObj 一起构成了对外暴露的5种数据结构,还被运用于

2018-01-06 20:12:16 419

原创 redis源码解读(六):基础数据结构之quicklist

近来在研读redis3.2.9的源码,虽然网上已有许多redis的源码解读文章,但大都不成系统,且纸上学来终觉浅,遂有该系列博文。部分知识点参照了黄建宏的《Redis设计与实现》。前言本文探究的数据结构并不是 redis 对外暴露的5种数据结构,而是redis内部使用的基础数据结构,这些基础的数据结构 redis 不仅和 redisObj 一起构成了对外暴露的5种数据结构,还被运用于 re

2018-01-06 20:10:41 552

原创 redis源码解读(五):基础数据结构之ziplist

近来在研读redis3.2.9的源码,虽然网上已有许多redis的源码解读文章,但大都不成系统,且纸上学来终觉浅,遂有该系列博文。部分知识点参照了黄建宏的《Redis设计与实现》。前言本文探究的数据结构并不是 redis 对外暴露的5种数据结构,而是redis内部使用的基础数据结构,这些基础的数据结构 redis 不仅和 redisObj 一起构成了对外暴露的5种数据结构,还被运用于

2018-01-06 20:04:21 628

原创 redis源码解读(四):基础数据结构之intset

近来在研读redis3.2.9的源码,虽然网上已有许多redis的源码解读文章,但大都不成系统,且纸上学来终觉浅,遂有该系列博文。部分知识点参照了黄建宏的《Redis设计与实现》。前言本文探究的数据结构并不是 redis 对外暴露的5种数据结构,而是redis内部使用的基础数据结构,这些基础的数据结构 redis 不仅和 redisObj 一起构成了对外暴露的5种数据结构,还被运用于

2018-01-06 19:55:00 694

原创 redis源码解读(三):基础数据结构之dict

近来在研读redis3.2.9的源码,虽然网上已有许多redis的源码解读文章,但大都不成系统,且纸上学来终觉浅,遂有该系列博文。部分知识点参照了黄建宏的《Redis设计与实现》。前言本文探究的数据结构并不是 redis 对外暴露的5种数据结构,而是redis内部使用的基础数据结构,这些基础的数据结构 redis 不仅和 redisObj 一起构成了对外暴露的5种数据结构,还被运用于

2018-01-06 19:52:05 625

原创 redis源码解读(二):基础数据结构之ADLIST

近来在研读redis3.2.9的源码,虽然网上已有许多redis的源码解读文章,但大都不成系统,且纸上学来终觉浅,遂有该系列博文。部分知识点参照了黄建宏的《Redis设计与实现》。前言本文探究的数据结构并不是 redis 对外暴露的5种数据结构,而是redis内部使用的基础数据结构,这些基础的数据结构 redis 不仅和 redisObj 一起构成了对外暴露的5种数据结构,还被运用于

2018-01-06 19:49:38 355

原创 redis源码解读(一):基础数据结构之SDS

近来在研读redis3.2.9的源码,虽然网上已有许多redis的源码解读文章,但大都不成系统,且纸上学来终觉浅,遂有该系列博文。部分知识点参照了黄建宏的《Redis设计与实现》。前言本文探究的数据结构并不是 redis 对外暴露的5种数据结构,而是redis内部使用的基础数据结构,这些基础的数据结构 redis 不仅和 redisObj 一起构成了对外暴露的5种数据结构,还被运用于

2018-01-06 17:30:43 2860 2

原创 lnmp源码安装手册

本文主要是对lnmp的环境源码搭建做一个系统性的总结,方便用时查找。

2018-01-06 17:21:51 639

原创 用python实现简单的遗传算法

今天整理之前写的代码,发现在做数模期间写的用python实现的遗传算法,感觉还是挺有意思的,就拿出来分享一下。首先遗传算法是一种优化算法,通过模拟基因的优胜劣汰,进行计算(具体的算法思路什么的就不赘述了)。大致过程分为初始化编码、个体评价、选择,交叉,变异。以目标式子 y = 10 * sin(5x) + 7 * cos(4x)为例,计算其最大值首先是初始化,包括具

2016-08-25 14:48:11 44495 41

原创 PHP5新特性 trait

trait是PHP5.4.0中引入的新概念,既像接口又像类。trait是类的部分实现(即常量、属性和方法),可以混入一个或多个现有的PHP类中。trait有两个作用:表明类可以做什么(像接口);提供模块化实现(像是类)。    为什么要使用trait,书中举了一个例子比较形象。首先PHP使用的是一种典型的继承模型,在这种模型中通常是先编写一个通用的根类,实现基本的功能,然后扩展这个根类,创建更

2016-08-03 22:50:55 1756

原创 namespace学习笔记

PHP从5.3.0版本开始支持命名空间,命名空间是一个很重要的工具,起作用是按照一种虚拟的层次结构组织PHP代码,这种层次结构类似操作系统中文件系统的目录结构。现代的PHP组件和框架大都都放在格子的全局唯一的厂商命名空间中,以免与其他厂商使用的常见命名冲突。如果不适用命名空间,那么当你的代码和其他开发者使用相同的类名、接口名、函数名或常量名时,名称会起冲突,导致PHP执行出错。    首先是声

2016-08-03 22:48:25 1570

原创 自定义php模板引擎

模板引擎的思想是来源于MVC(Model View Controller)模型,即模型层、视图层、控制器层。    在Web端,模型层为数据库的操作;视图层就是模板,也就是Web前端;Controller就是PHP对数据和请求的各种操作。模板引擎就是为了将视图层和其他层分离开来,使php代码和html代码不会混杂在一起。因为当php代码和html代码混杂在一起时,将使代码的可读性变差,并且

2016-08-03 22:40:06 3417

原创 array_merge和数组直接相加的区别

今天发现php的数组居然可以直接相加,之前都是用array_merge进行数组的连接操作。但是试验了一番发现差别还是很大的。首先是以数字为索引的数组, array_merge会将两个数组按照先后顺序组成一个新的数组$array1 = array("a", "b", "c");$array2 = array("d", "e", "f");// 输出Array ( [0] =

2016-08-03 22:32:25 4090

空空如也

空空如也

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

TA关注的人

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