2019年12月28日

正确地使用Redis的SETNX实现锁机制

摘要: setNX,是set if not exists 的缩写,也就是只有不存在的时候才设置, 设置成功时返回 1 , 设置失败时返回 0 。可以利用它来实现锁的效果,但是很多人在使用的过程中都有一些问题没有考虑到。例如某个查询数据库的接口因为请求量比较大所以加了缓存,并设定缓存过期后刷新。当并发量比较大 阅读全文

posted @ 2019-12-28 13:25 孤灯引路人 阅读(24930) 评论(2) 推荐(5) 编辑

2019年12月26日

PHP工厂模式

摘要: 工厂模式的意思其实就是提供获取某个对象实例的一个接口,同时使调用代码避免确定实例化基类的步骤,实际上就是建立一个统一的类实例化的函数接口,完事统一调用,统一控制,它是PHP中常用的一种设计模式,一般会配合单例模式一起使用,来加载php类库中的类 //工厂模式 提供获取某个对象实例的一个接口,同时使调 阅读全文

posted @ 2019-12-26 19:40 孤灯引路人 阅读(214) 评论(0) 推荐(0) 编辑

2019年12月25日

PHP模拟redis字符串结构

摘要: class Sdshrd{ public $len;#已经占用的空间长度 public $free;#还剩余空间数量 public $arr;#存储数据位置 public $defaut=512; public function __construct($value){ $this->arr = n 阅读全文

posted @ 2019-12-25 23:08 孤灯引路人 阅读(132) 评论(0) 推荐(0) 编辑

redis底层内核分析

摘要: 1、Redis的数据结构 Redis 的底层数据结构包含简单的动态字符串(SDS)、链表、字典、压缩列表、整数集合等等;五大数据类型(数据对象)都是由一种或几种数结构构成。 在命令行中可以使用 OBJECT ENCODING key 来查看key的数据结构。 2、简单动态字符串SDS redis是使 阅读全文

posted @ 2019-12-25 21:41 孤灯引路人 阅读(542) 评论(0) 推荐(0) 编辑

2019年12月24日

PHP实现观察者模式

摘要: “观察者模式”的观察者三个字信息量很大。玩过很多网络游戏的童鞋们应该知道,即便是斗地主,除了玩家,还有一个角色叫“观察者"。在我们今天他谈论的模式设计中,观察者也是如此。首先,要有一个“主题”。只有有了一个主题,观察者才能搬着小板凳儿聚在一堆。其次,观察者还必须要有自己的操作。否则你聚在一堆儿没事做 阅读全文

posted @ 2019-12-24 23:07 孤灯引路人 阅读(685) 评论(1) 推荐(1) 编辑

拉链法解决hashtable冲突问题

摘要: 拉链法解决冲突。拉链法解决冲突的做法是将所有的相同Hash值的key放在一个链表中,比如key3和key14在hash之后都是0,那么在数组的键为0的地方存储这两个值,形式是链表。如果不能理解我的文字,请看下面的示例,看一下打印信息就明白了。拉链法是什么,就是链表。 class HashNode{ 阅读全文

posted @ 2019-12-24 23:02 孤灯引路人 阅读(1061) 评论(0) 推荐(0) 编辑

php实现hashTable

摘要: Hash表作为最重要的数据结构之一,也叫做散列表。使用PHP实现Hash表的功能。PHP可以模拟实现Hash表的增删改查。通过对key的映射到数组中的一个位置来访问。映射函数叫做Hash函数,存放记录的数组称为Hash表。 Hash函数把任意长度的和类型的key转换成固定长度输出。不同的key可能拥 阅读全文

posted @ 2019-12-24 22:04 孤灯引路人 阅读(451) 评论(1) 推荐(0) 编辑

二叉树遍历

摘要: class Node { public $data; public $left; public $right; public function __construct($data){ $this->data=$data; } } class CreateTree{ public $tree; //二 阅读全文

posted @ 2019-12-24 20:04 孤灯引路人 阅读(140) 评论(0) 推荐(0) 编辑

安装php多进程模块pcntl(一)

摘要: 在使用函数pcntl_fork()时报错 Fatal error: Uncaught Error: Call to undefined function pcntl_fork()....,原因是没有安装pcntl扩展包,有两种解决方式,一种是在编译php的时候加上./configure --enab 阅读全文

posted @ 2019-12-24 16:30 孤灯引路人 阅读(486) 评论(0) 推荐(0) 编辑

单例模式

摘要: 单例模式的定义:保证一个类只有一个实例,并提供一个访问它的全局访问点 class Singleton { //创建静态私有的变量保存该类对象 static private $instance; //防止使用new直接创建对象 private function __construct(){} //防止 阅读全文

posted @ 2019-12-24 11:21 孤灯引路人 阅读(121) 评论(0) 推荐(0) 编辑

导航