摘要: 作为web开发的一员,相信大家的面试经历里少不了会遇到这个问题:redis是怎么做持久化的? 阅读全文
posted @ 2018-04-04 13:58 hoohack 阅读(977) 评论(1) 推荐(3) 编辑
摘要: redis中的很多操作都是基于上面介绍的redis对象,了解这些对象的底层实现,可以为之后更多的redis特性做准备。 阅读全文
posted @ 2018-03-21 19:29 hoohack 阅读(893) 评论(0) 推荐(0) 编辑
摘要: dict是一种用于保存键值对的抽象数据结构,在redis中使用非常广泛,比如数据库、哈希结构的底层。 阅读全文
posted @ 2018-01-08 11:06 hoohack 阅读(1493) 评论(1) 推荐(1) 编辑
摘要: 从开始工作就开始使用Redis,也有一段时间了,但都只是停留在使用阶段,没有往更深的角度探索,每次想读源码都止步在阅读书籍上,因为看完书很快又忘了,这次逼自己先读代码。因为个人觉得写作需要阅读文字来增强灵感,那么写代码的,就阅读更多代码来增强灵感吧。 阅读全文
posted @ 2017-11-13 09:53 hoohack 阅读(1797) 评论(2) 推荐(3) 编辑
摘要: 上次讲到[PHP是如何解析大整数](http://www.hoohack.me/2017/09/14/learning-php-big-number-detail)的,一笔带过了number_format的处理,再详细阅读该函数的源码,以下是小分析。 阅读全文
posted @ 2017-09-21 18:48 hoohack 阅读(820) 评论(1) 推荐(3) 编辑
摘要: 浮点数精度丢失是一个长久的问题,PHP中精度丢失并不是PHP的bug,是计算机表示范围导致的问题。精度,这个问题的原因看起来不太重要,虽然学这个对于实际上的业务开发也没什么用,不会让你的开发能力“duang"地一下上去几个level,但是了解了PHP对于大整数的处理,也是自己知识框架的一个小小积累,知道了为什么之后,在日常开发中就会多加注意,比如从存储以及使用赋值的角度。了解这个细节还是很有好处的。 阅读全文
posted @ 2017-09-14 13:03 hoohack 阅读(2171) 评论(2) 推荐(4) 编辑
摘要: 经历过一次mysql主从延迟之后,就开始思考,主从复制是什么东西?它是怎么实现的呢?它的原理是什么?于是乎就开始查阅资料、文章,现将自己理解到的内容总结在此,加深印象。 阅读全文
posted @ 2017-07-11 10:30 hoohack 阅读(7401) 评论(6) 推荐(4) 编辑
摘要: 最近开发中遇到的一个MySQL主从延迟的坑,记录并总结,避免再次犯同样的错误。 阅读全文
posted @ 2017-06-24 14:13 hoohack 阅读(1388) 评论(1) 推荐(1) 编辑
摘要: cJSON是一个轻量级的json解析库。使用起来非常简单,整个库非常地简洁,核心功能的实现都在cJSON.c文件,非常适合阅读源代码来学习C语言。最近读完这个库的源码,分享自己收获的一些心得。 阅读全文
posted @ 2017-04-27 11:44 hoohack 阅读(2305) 评论(0) 推荐(2) 编辑
摘要: 在学习Redis的常用操作时,经常看到介绍说,Redis的set、get以及hset等等命令的执行都是原子性的,但是令自己百思不得其解的是,为什么这些操作是原子性的? ## 原子性 原子性是数据库的事务中的特性。在数据库事务的情景下,原子性指的是:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。[【维基百科】](https://zh.wikipedia.org/wiki/ACID) 对于Redis而言,命令的原子性指的是:一个操作的不可以再分,操作要么执行,要么不执行。 阅读全文
posted @ 2017-04-04 22:48 hoohack 阅读(1560) 评论(3) 推荐(4) 编辑
摘要: 在正常的开发中,应该根据不同的请求做出不同的响应。要做到上述的功能,首先要解析客户端发来的请求报文。 报文在不同的上下文情景下有不同的理解,本文所说的报文都是在HTTP上下文中描述的名词。 阅读全文
posted @ 2016-11-07 07:36 hoohack 阅读(3062) 评论(1) 推荐(3) 编辑
摘要: HTTP服务器,就是一个运行在主机上的程序。程序启动了之后,会一直在等待其他所有客户端的请求,接收到请求之后,处理请求,然后发送响应给客户端。客户端和服务器之间使用HTTP协议进行通信,所有遵循HTTP协议的程序都可以作为客户端。 阅读全文
posted @ 2016-10-28 17:34 hoohack 阅读(1233) 评论(2) 推荐(5) 编辑
摘要: 在日常编程中最烦恼的就是给变量取名,一段好代码,既要能完美地运行,还要能较容易地维护。这就意味着需要让日后维护代码的人能很快地看懂你的代码,而且,在团队合作中,其他开发者也会经常阅读你那部分代码。如果你的代码中充满了a,b,c,a1,a2,a3...那简直就是一个噩梦。因此,好的变量名非常重要。 阅读全文
posted @ 2016-07-25 10:56 hoohack 阅读(1887) 评论(7) 推荐(11) 编辑
摘要: 在PHP内核中,其中一个很重要的数据结构就是HashTable。我们常用的数组,在内核中就是用HashTable来实现。那么,PHP的HashTable是怎么实现的呢?最近在看HashTable的数据结构,但是算法书籍里面没有具体的实现算法,刚好最近也在阅读PHP的源码,于是参考PHP的HashTable的实现,自己实现了一个简易版的HashTable,总结了一些心得,下面给大家分享一下。 阅读全文
posted @ 2016-07-05 11:55 hoohack 阅读(5020) 评论(3) 推荐(13) 编辑
摘要: 最近花了些时间重拾数据结构的基础知识,先尝试了红黑树,花了大半个月的时间研究其原理和实现,下面是学习到的知识和一些笔记的分享。望各位多多指教。 阅读全文
posted @ 2016-06-27 11:53 hoohack 阅读(1031) 评论(3) 推荐(4) 编辑