<?php/** * php redis扩展 * @author Max Kamashev <max.kamashev@gmail.com> * @link https://github.com/ukko/phpredis-phpdoc * * @method echo string $string Sends a string to Redis, which re...
原创 2018-08-24 21:42:11
442阅读
<?php/** * php redis扩展 * @author Max Kamashev <max.kamashev@gmail.com> * @link https://github.com/ukko/phpredis-phpdoc * * @method echo string $string Sends a string to Redis, which replies w
原创 2022-01-19 14:04:16
363阅读
php源码分析
原创 2017-07-14 17:58:05
1418阅读
<?phpnamespace Cache;/** * Redis 缓存类 * @package Cache */class Redis { private $expire; private $cache; // 构造方法 public function __construct($expire) { // 过期时间 $this->expire = $...
原创 2018-08-05 14:35:29
376阅读
<?phpnamespace Cache;/** * Redis 缓存类 * @package Cache */class Redis { private $expire; private $cache; // 构造方法 public function __construct($expire) { // 过期时间 $this->expire = $...
一、set方法1,先去调用底层的connect方法,去进行一个socket连接 connect 从源码中可以看到是通过CP协议与redis建立socket连接,此时可以将redis理解为一个serverSocket。 2.手写模拟一个redispublic class ServerSocketRedis { public static void main(S
转载 2023-05-30 09:14:33
144阅读
51CTO的博客终于改版啦,赞一个,据说已经很久了,我才知道 T。T   SIREN_SETTING 我的PHP版本:PHP5.3源码 我的系统环境 FreeBSD 我的编辑器 VIM+CTAGS 开始吧. php5.3源码包的目录其实还是很清晰的 比较重要的有 Zend:Zend引擎代码都在这里了.这里是PHP语言的运行环境空间(可能 不太确切).你也可以理解为解析PH
原创 2013-01-29 15:42:16
778阅读
1点赞
1评论
# Redis源码分析 ## 概述 在进行Redis源码分析之前,我们首先需要了解Redis是什么以及它的主要功能和特点。Redis是一个开源的内存数据库,可以用作缓存、消息队列、会话存储等多种用途。Redis的源代码是使用C语言编写的,通过阅读Redis源码可以深入了解其内部原理和实现方式,从而更好地理解Redis的工作机制。 ## 源码分析流程 下面是进行Redis源码分析的整体流程和步骤
原创 2024-05-24 10:18:14
66阅读
转载:http://www.qixing318.com/article/php-hashtable-implementation-source-code-analysis.html一、哈希表定义哈希表(或散列表),是将键名key按指定的散列函数HASH经过HASH(key)计算后映射到表中一个记录,而这个数组就是哈希表。这里的HASH指任意的函数,例如MD5、CRC32、SHA1或你自定义的函数实
转载 精选 2015-04-09 12:05:41
697阅读
<?php namespace Laravel\Session\Drivers;class Redis implements Driver { /** * The Redis cache driver instance. * Redis 缓存驱动程序实例。 * @var Laravel\Cache\Drivers\Redis */ protected $redis; /** * Create a new Redis session driver. * 创建一个新.
原创 2021-06-01 20:50:54
126阅读
<?php namespace Laravel\Cache\Drivers;class Redis extends Driver { /** * The Redis database instance. * Redis 数据库实例。 * @var Laravel\Redis */ protected $redis; /** * Create a new Redis cache driver instance. * 创建一个新的 Redis 缓存驱动程序实例。 .
原创 2021-05-31 21:02:28
82阅读
<?php namespace Laravel\Session\Drivers;class Redis implements Driver { /** * The Redis cache driver instance. * Redis 缓存驱动程序实例。 * @var Laravel\Cache\Drivers\Redis */ protected $redis; /** * Create a new Redis session driver. * 创建一个新.
原创 2021-06-01 20:50:54
29阅读
<?php namespace Laravel\Cache\Drivers;class Redis extends Driver { /** * The Redis database instance. * Redis 数据库实例。 * @var Laravel\Redis */ protected $redis; /** * Create a new Redis cache driver instance. * 创建一个新的 Redis 缓存驱动程序实例。 .
原创 2021-05-31 21:02:28
25阅读
之前零零散散的写过一些关于redis的文章,主要是为了能够对自己的学习和使用做一个记录,加深印象吧,使用redis也有一段时间了,总有 一种虽然大部分内容都了解,但是心里很不踏实的感觉,之前也看过源码,但是由于不是很系统,也没有坚持下来,今天想了想,决定系统的 对源码进行一次解读,这样基本上可以对redis有一个全面的学习,希望可以做到精通吧。 当然要解读redis源码,要先熟悉一下C语言,毕竟
最近工作中一直在用redis进行缓存功能的实现,redis源码虽然只有一万多行,但是确实值得研究一下,以下个人的一点研究和看法(本来打算用图表示,实在找不到一种好的画图工具来描述,因此就用文字描述了),希望能跟各位共勉之。 一、1.构建JedisShardInfo列表List<JedisShardInfo> jedisShardInfoList,其中JedisShardInfo包含
转载 2023-08-15 18:36:33
36阅读
我们知道 mian 函数并不是程序执行的第一行代码,而是ELF文件格式开始执行第一个函数 _start 然后去加载动态链接库中的 __libc_start_main 函数,然后在__libc_start_main 函数中调用了_init 函数,在_init 函数中又继续调用 __gmon_start__,而在 __libc_start_main中也调用了 main 函数。所以前置条件我们已经有了,
转载 2023-08-15 17:15:58
26阅读
写在前面:因为目前的工作需要长期跟redis打交道,然后自己也想把这块吃透,方便技术提升,所以写博客。 文章目录Redis源码阅读(一)zmalloc.hallocatorsrc/zmalloc.cPREFIX_SIZEupdate_zmalloc_stat_alloc和atomicIncrZMALLOCzcallocZREALLOCupdate_zmalloc_stat_freezstrdupz
转载 2023-09-09 23:17:35
80阅读
看了一些关于redis 的相关文章,例如redis为什么这么快、redis的原理、redis的数据结构这些,但其只是从整体的结构来说明,并没有梳理源码的具体流程,但我不是很喜欢一些黑盒的东西,所以我们这一篇就通过跑redis源码,来追踪redis源码中的一些数据结构。这篇文章的源码是基于redis 3.0版本,同时源码是直接从github上面clone下来的别人已经处理好的redis代码(win
我们知道web服务器与PHP应用之间通过SAPI接口进行交互数据。PHP提供了多种SAPI接口,例如 apache2hander、fastcgi、cli等等。当然,php-fpm也是其中一种。相比其他接口,php-fpm运用更加广泛。php-fpm是一种master(主)/worker(子)多进程架构,与nginx设计风格有点类似。master进程主要负责CGI
转载 2022-02-21 17:38:38
338阅读
刚开始阅读Redis代码的时候,经常感到效率不高,难以把握整体,现在回想起来主要有以下几个原因:Redis为了追求极致的内存使用和效率,很多数据结构从0开始实现,个别结构比较复杂,导致很容易陷入细节之中。Redis中功能模块很多,某些模块比较复杂,而且往往夹杂着其他模块,如果不清楚模块之间的联系,就很难找到一条清晰的调用主线。Redis是纯C实现,很难达到C++那样的封装性和抽象性,导致一些复杂函
转载 2023-08-15 07:08:47
81阅读
  • 1
  • 2
  • 3
  • 4
  • 5