luyaran的博客

一名php小菜鸟的成长故事

排序:
默认
按更新时间
按访问量

PHP的zend引擎运行流程(opcode)了解下

    相信大家对PHP的核心架构图也是有所了解的,本人也就不做过多赘述了。这次咱们就来简单了解下这个核心中的核心---zend引擎。    百度上对它的定义是这样的:一个开源的脚本引擎(一个虚拟机)。它的优势也是明显的,首先它把边解释边运行的方式变为先进行预编译(compile),再执行(exe...

2018-06-25 14:08:58

阅读数:6

评论数:0

浅谈PHP代码执行的大致流程(opcode)

    说到这个代码执行流程啊,咱也不说太多,先给大家分享一张图片:    怎么样?有点了解了么。说实话,单看这个,我本人是有点懵的,不过,不要怕。咱们来慢慢地看下。    首先,在网上找的信息说PHP代码执行的顺序是这样的,第一步是词法分析,第二步是语法分析,第三步是转化为opcode,第四部也...

2018-06-22 17:27:52

阅读数:30

评论数:0

关于PHP底层运行机制与原理的思考之建立一个简单的PHP核心架构图

    提到这个PHP底层的运行原理和机制,如果要用一张图来描述的话,相信大家的脑海里都会浮现下面的这张图:    诚然,PHP的核心架构确实是如上图所示。不管是让谁来说,也差不多就是这么多。但是,我今天写这篇博客的原因,无非就是加深下,自己对这个PHP核心架构的一些理解。    首先,从整体来说...

2018-06-21 13:46:30

阅读数:55

评论数:0

PHP的一个有意思的小东西之EOF(heredoc) 使用说明

    PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字串的方法。它的使用方式如下:1. 必须后接分号,否则编译通不过。2. EOF 可以用任意其它字符代替...

2018-06-20 11:34:52

阅读数:77

评论数:0

关于PHP变量作用域(全局变量&局部变量)&global&static关键字

    我们知道,变量呢,其实就相当于我们用来储存信息的容器。关于它的命名规则什么的,相信大家也是比较清楚的,这里就不赘述了。这里呢,主要就来看PHP变量的两个作用域,全局变量&局部变量。    看到这两个变量作用域,相信大家脑海里会浮现两个单词global&amp...

2018-06-20 11:12:41

阅读数:59

评论数:0

从零开始学习Redis之PHP使用Redis&各种操作实例

    开始在 PHP 中使用 Redis 前,我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。其中安装PHP redis 驱动的步骤我就不赘述了,因为安装方式多种多样,最终在查看phpinfo的时候有如下样式,就算安装成功了:    我们直接...

2018-06-20 10:34:34

阅读数:63

评论数:0

从零开始学习Redis之分区测试

    分区是分割数据到多个Redis实例的处理过程,因此每个实例只保存key的一个子集。它的优势如下:通过利用多台计算机内存的和值,允许我们构造更大的数据库。通过多核和多台计算机,允许我们扩展计算能力;通过多台计算机和网络适配器,允许我们扩展网络带宽。    redis的一些特性在分区方面表现的...

2018-06-20 10:24:20

阅读数:55

评论数:0

从零开始学习Redis之管道技术

    Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。服务端处理命令,并将结果返回给客户端。    Redis 管道技术可以在服务端未响应时,...

2018-06-20 10:20:02

阅读数:52

评论数:0

从零开始学习Redis之客户端连接的相关命令测试

    Redis 通过监听一个 TCP 端口或者 Unix socket 的方式来接收来自客户端的连接,当一个连接建立后,Redis 内部会进行以下一些操作:首先,客户端 socket 会被设置为非阻塞模式,因为 Redis 在网络事件处理上采用的是非阻塞多路复用模型。然后为这个 socket ...

2018-06-19 13:59:08

阅读数:17

评论数:0

从零开始学习Redis之性能测试的相关命令测试

    Redis 性能测试是通过同时执行多个命令实现的。redis 性能测试的基本命令如下:redis-benchmark [option] [option value]    以下实例同时执行 10000 个请求来检测性能:$ redis-benchmark -n 10000 -q PIN...

2018-06-19 13:57:12

阅读数:33

评论数:0

从零开始学习Redis之安全的相关命令测试

    我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全。咱们来通过以下命令查看是否设置了密码验证:127.0.0.1:6379> CONFIG get requirepass 1) &...

2018-06-19 13:55:12

阅读数:14

评论数:0

从零开始学习Redis之数据备份与恢复的相关命令测试

    Redis SAVE 命令用于创建当前数据库的备份。redis Save 命令基本语法如下:redis 127.0.0.1:6379> SAVE     实例如下:redis 127.0.0.1:6379> SAVE OK    该命令将在 r...

2018-06-19 09:58:04

阅读数:57

评论数:0

从零开始学习Redis之服务器的相关命令测试

    Redis 服务器命令主要是用于管理 redis 服务。以下实例演示了如何获取 redis 服务器的统计信息:redis 127.0.0.1:6379> INFO # Server redis_version:2.8.13 redis_git_sha1:000000...

2018-06-19 09:55:46

阅读数:57

评论数:0

从零开始学习Redis之连接 redis 服务的相关命令测试

    Redis 连接命令主要是用于连接 redis 服务。以下实例演示了客户端如何通过密码验证连接到 redis 服务,并检测服务是否在运行:redis 127.0.0.1:6379> AUTH "password" OK redis ...

2018-06-19 09:54:02

阅读数:64

评论数:0

从零开始学习Redis之脚本的相关命令测试

    Redis 脚本使用 Lua 解释器来执行脚本。 Reids 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常用命令为 EVAL。Eval 命令的基本语法如下:redis 127.0.0.1:6379> EVAL script numkeys key [key ....

2018-06-19 09:52:08

阅读数:60

评论数:0

从零开始学习Redis之事务的相关命令测试

    Redis 事务可以一次执行多个命令, 并且带有以下三个个重要的保证:批量操作在发送 EXEC 命令前被放入队列缓存。收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。    一个事务从开...

2018-06-19 09:50:13

阅读数:55

评论数:0

从零开始学习Redis之发布订阅的相关命令测试

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:  ...

2018-06-19 09:47:09

阅读数:63

评论数:0

从零开始学习Redis之HyperLogLog的相关命令测试

    Redis 在 2.8.9 版本添加了 HyperLogLog 结构。Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的。在 Redis 里面,每个 HyperLog...

2018-06-19 09:44:14

阅读数:54

评论数:0

从零开始学习Redis之有序集合(sorted set)数据类型的相关命令测试

    Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查...

2018-06-15 10:37:19

阅读数:56

评论数:1

从零开始学习Redis之集合(Set)数据类型的相关命令测试

    Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。...

2018-06-15 10:33:51

阅读数:60

评论数:0

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