`

php memcache提速

    博客分类:
  • php
阅读更多
Memcache常用方法
Memcache::add &md ash; 添加一个值,如果已经存在,则返回false
Memcache::add Server — 添加一个可供使用的 服务器地址
Memcache::close — 关闭一个Memcache对象
Memcache::connect — 创建一个Memcache对象
Memcache::debug — 控制调试功能
Memcache::decrement — 对保存的某个key中的值进行减法操作
Memcache::delete — 删除一个key值
Memcache::flush — 清除所有缓存的数据
Memcache:: get — 获取一个key值
Memcache::getExtendedStats — 获取进程池中所有进程的运行系统统计
Memcache::getServerStatus — 获取运行服务器的参数
Memcache::getStats — 返回服务器的一些运行统计信息
Memcache::getVersion — 返回运行的Memcache的版本信息
Memcache::increment — 对保存的某个key中的值进行加法操作
Memcache::pconnect — 创建一个Memcache的持久连接对象
Memcache::replace — R对一个已有的key进行覆写操作
Memcache::set — 添加一个值,如果已经存在,则覆写
Memcache::setCompressThreshold — 对大于某一大小的数据进行压缩
Memcache::setServerParams — 在运行时修改服务器的参数
Memcache方法使用


Memcached 简介:

Memcached是一个高性能的、分布式内存对象缓存系统。通常被用于降低数据库加载压力以提高动态web应用的响应速度。

此扩展使用了libmemcached库提供的api与memcached服务端进行交互。它同样提供了一个session处理器(memcached)。 它同时提供了一个session处理器


关于libmemcached的更多信息可以在http://libmemcached.org/libMemcached.html查看。

Memcache 需求:

这个扩展需要libmemcached客户端库。

Memcache 安装:

安装此 PECL 扩展相关的信息可在手册中标题为 PECL 扩展的安装 章节中找到。另外的信息,如新的发行版本、下载、源文件、 Additional information such as new releases,维护人员信息及变更日志等,都在此处:http://pecl.php.net/package/memcached.

如果libmemcached被安装在一个非标准路径,使用--with-libmemcached-dir=DIR 来指定路径,DIR就是libmemcached安装时的prefix参数。这个路径需要包含文件include/libmemcached/memcached.h。

如果要支持压缩就需要zlib。对于非标准安装的zlib库,使用--with-zlib-dir=DIR 来指定zlib安装路径,DIR就是zib安装时的prefix参数。

session处理器的支持默认是开启的。如果要关闭它,使用选项--disable-memcached-session 。

预定义常量:

下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。

Memcached::OPT_COMPRESSION
开启或关闭压缩功能。当开启的时候,item的值超过某个阈值(当前是100bytes)时,会首先对值进行压缩然后存储,并 在获取该值时进行解压缩然后返回,使得压缩对应用层透明。

类型: boolean, 默认: TRUE.

Memcached::OPT_SERIALIZER
指定对于非标量值进行序列化的序列化工具。可用的值有Memcached::SERIALIZER_PHP 和Memcached::SERIALIZER_IGBINARY。后者仅在memcached配置时开启 --enable-memcached-igbinary选项并且 igbinary扩展被加载时才有效。

类型: integer, 默认: Memcached::SERIALIZER_PHP.

Memcached::SERIALIZER_PHP
默认的PHP序列化工具(即serialize方法)。

Memcached::SERIALIZER_IGBINARY
» igbinary序列化工具。它将php的数据结构 存储为紧密的二进制形式,在时间和空间上都有所改进。

Memcached::SERIALIZER_JSON
JSON序列化,需要 PHP 5.2.10以上。

Memcached::OPT_PREFIX_KEY
可以用于为key创建“域”。这个值将会被作为每个key的前缀,它不能长于128个字符, 并且将会缩短最大可允许的key的长度。这个前缀仅仅用于被存储的元素的key,而不会用于服务器key。

类型: string, 默认: "".

Memcached::OPT_HASH
指定存储元素key使用的hash算法。可用的值是Memcached::HASH_*系列的常量。 每种hash算法都有它的优势和劣势,在你不了解或不确定哪种算法对你更有利时,请使用默认值。

类型: integer, 默认: Memcached::HASH_DEFAULT

Memcached::HASH_DEFAULT
默认的(Jenkins one-at-a-time)元素key hash算法

Memcached::HASH_MD5
md5元素key hash算法。

Memcached::HASH_CRC
CRC元素key hash算法。

Memcached::HASH_FNV1_64
FNV1_64元素key hash算法。

Memcached::HASH_FNV1A_64
FNV1_64A元素key hash算法。

Memcached::HASH_FNV1_32
FNV1_32元素key hash算法。

Memcached::HASH_FNV1A_32
FNV1_32A元素key hash算法。

Memcached::HASH_HSIEH
Hsieh元素key hash算法。

Memcached::HASH_MURMUR
Murmur元素key hash算法。

Memcached::OPT_DISTRIBUTION
指定元素key分布到各个服务器的方法。当前支持的方法有余数分步法合一致性hash算法两种。一致性hash算法提供 了更好的分配策略并且在添加服务器到集群时可以最小化缓存丢失。

类型: integer, 默认: Memcached::DISTRIBUTION_MODULA.

Memcached::DISTRIBUTION_MODULA
余数分布算法。

Memcached::DISTRIBUTION_CONSISTENT
一致性分布算法(基于libketama).

Memcached::OPT_LIBKETAMA_COMPATIBLE
开启或关闭兼容的libketama类行为。当开启此选项后,元素key的hash算法将会被设置为md5并且分布算法将会 采用带有权重的一致性hash分布。这一点非常有用因为其他基于libketama的客户端(比如python,urby)在同样 的服务端配置下可以透明的访问key。

Note:

如果你要使用一致性hash算法强烈建议开启此选项,并且这个选项可能在未来的发布版中被设置为默认开启。

类型: boolean, 默认: FALSE.

Memcached::OPT_BUFFER_WRITES
开启或关闭I/O缓存。开启I/O缓存会导致存储命令不实际发送而是存储到缓冲区中。任意的检索数据操作都会导致 缓存中的数据被发送到远程服务端。退出连接或关闭连接也会导致缓存数据被发送到远程服务端。

类型: boolean, 默认: FALSE.

Memcached::OPT_BINARY_PROTOCOL
开启使用二进制协议。请注意这个选项不能在一个打开的连接上进行切换。

类型: boolean, 默认: FALSE.

Memcached::OPT_NO_BLOCK
开启或关闭异步I/O。这将使得存储函数传输速度最大化。

类型: boolean, 默认: FALSE.

Memcached::OPT_TCP_NODELAY
开启或关闭已连接socket的无延迟特性(在某些幻境可能会带来速度上的提升)。

类型: boolean, 默认: FALSE.

Memcached::OPT_SOCKET_SEND_SIZE
socket发送缓冲的最大值。

类型: integer, 默认: 根据不同的平台/内核配置不同

Memcached::OPT_SOCKET_RECV_SIZE
socket接收缓冲的最大值。

类型: integer, 默认: 根据不同的平台/内核配置不同

Memcached::OPT_CONNECT_TIMEOUT
在非阻塞模式下这里设置的值就是socket连接的超时时间,单位是毫秒。

类型: integer, 默认: 1000.

Memcached::OPT_RETRY_TIMEOUT
等待失败的连接重试的时间,单位秒。

类型: integer, 默认: 0.

Memcached::OPT_SEND_TIMEOUT
socket发送超时时间,单位毫秒。在这种情况下您不能使用非阻塞I/O,这将使得您仍然有数据会发送超时。

类型: integer, 默认: 0.

Memcached::OPT_RECV_TIMEOUT
socket读取超时时间,单位毫秒。在这种情况下您不能使用非阻塞I/O,这将使得您仍然有数据会读取超时。

类型: integer, 默认: 0.

Memcached::OPT_POLL_TIMEOUT
poll连接超时时间,单位毫秒。

类型: integer, 默认: 1000.

Memcached::OPT_CACHE_LOOKUPS
开启或禁用DNS查找缓存。

类型: boolean, 默认: FALSE.

Memcached::OPT_SERVER_FAILURE_LIMIT
指定一个服务器连接的失败重试次数限制。在达到此数量的失败重连后此服务器将被从服务器池中移除。

类型: integer, 默认: 0.

Memcached::HAVE_IGBINARY
指示是否支持igbinary的序列化。

类型: boolean.

Memcached::HAVE_JSON
指示是否支持json的序列化。

类型: boolean.

Memcached::GET_PRESERVE_ORDER
一个用于Memcached::getMulti()和 Memcached::getMultiByKey()的标记用以确保返回的key和请求的key顺序保持一致。 不存在的key将会得到一个NULL值。

Memcached::RES_SUCCESS
操作成功。

Memcached::RES_FAILURE
某种方式的操作失败。

Memcached::RES_HOST_LOOKUP_FAILURE
DNS查找失败。

Memcached::RES_UNKNOWN_READ_FAILURE
读取网络数据失败。

Memcached::RES_PROTOCOL_ERROR
错误的memcached协议命令。

Memcached::RES_CLIENT_ERROR
客户端错误。

Memcached::RES_SERVER_ERROR
服务端错误。

Memcached::RES_WRITE_FAILURE
向网络写数据失败。

Memcached::RES_DATA_EXISTS
比较并交换值操作失败(cas方法):尝试向服务端存储数据时由于自此连接最后一次取此key对应数据之后被改变导致失败。

Memcached::RES_NOTSTORED
元素没有被存储,但并不是因为一个错误。这通常表明add(元素已存在)或replace(元素不存在)方式存储数据失败或者元素已经在一个删除序列中(延时删除)。

Memcached::RES_NOTFOUND
元素未找到(通过get或cas操作时)。

Memcached::RES_PARTIAL_READ
局部网络数据读错误。

Memcached::RES_SOME_ERRORS
在多key获取的时候发生错误。

Memcached::RES_NO_SERVERS
服务器池空。

Memcached::RES_END
结果集到结尾了。

Memcached::RES_ERRNO
系统错误。

Memcached::RES_BUFFERED
操作被缓存。

Memcached::RES_TIMEOUT
操作超时。

Memcached::RES_BAD_KEY_PROVIDED
提供了无效的key。

Memcached::RES_CONNECTION_SOCKET_CREATE_FAILURE
创建网络socket失败。

Memcached::RES_PAYLOAD_FAILURE
不能压缩/解压缩或序列化/反序列化值。



分享到:
评论

相关推荐

    PHP7.x 8.0 memcache dll php_memcache.dll

    标题 "PHP7.x 8.0 memcache dll php_memcache.dll" 涉及到的是在PHP 7.x和8.0版本中使用memcache扩展的相关内容,特别是关于`php_memcache.dll`这个动态链接库文件。memcache是广泛应用于Web开发中的一个内存对象...

    PHP memcache 多版本拓展

    **PHP Memcache 多版本拓展库详解** PHP Memcache拓展是PHP编程中广泛使用的扩展,它为PHP应用程序提供了与Memcached缓存系统交互的能力。Memcached是一个高性能的分布式内存对象缓存系统,常用于减轻数据库负载,...

    windows php memcache 扩展

    **PHP与Memcache扩展在Windows环境下的配置与应用** PHP是一种广泛使用的开源脚本语言,尤其在Web开发中被大量采用。Memcache是一款高性能的分布式内存对象缓存系统,它可以用来存储各种数据,如数据库查询结果、...

    php5.4.4-php_memcache

    《PHP 5.4.4与php_memcache扩展:实现高效分布式缓存》 在Web开发领域,PHP作为一门广泛使用的服务器端脚本语言,其性能优化和数据处理能力至关重要。其中,分布式缓存技术是提升网站性能的有效手段之一。在PHP ...

    php5.4_memcache.dll 64位

    标题 "php5.4_memcache.dll 64位" 指的是针对PHP 5.4版本的一个64位扩展,用于支持Memcache缓存系统。这个扩展使得PHP应用程序能够利用Memcache服务来存储和检索数据,从而提高网站性能,减少数据库负载。 描述中的...

    php 5.4.15 64位 memcache.dll

    标题 "php 5.4.15 64位 memcache.dll" 指的是针对 PHP 5.4.15 版本的一个64位系统优化的 memcache 扩展库。Memcache 是一种广泛使用的分布式内存缓存系统,用于在 Web 应用程序中提高数据读取速度,通过存储经常访问...

    memcache安装php5.2.17的php_memcache.dll

    在PHP中,我们通常使用php_memcache.dll扩展来与Memcache服务器进行交互。针对“memcache安装php5.2.17的php_memcache.dll”的主题,我们将深入探讨如何在Windows环境下安装和配置这个扩展。 1. **下载准备** 首先...

    php5.6 php7.0 php7.1 memcache.dll扩展

    标题中的“php5.6 php7.0 php7.1 memcache.dll扩展”指的是这个压缩包文件包含了适用于PHP 5.6、PHP 7.0和PHP 7.1版本的memcache扩展的.dll动态链接库文件。Memcache是PHP中一个非常重要的扩展,它允许开发者在PHP...

    PHP5.5/5.6的 32&63 VC11 Memcache扩展php_memcache.dll

    PHP 添加 Memcache 扩展 : 下载包中包括如下: php_memcache-3.0.8-5.5-nts-vc11-x64.zip php_memcache-3.0.8-5.5-nts-vc11-x86.zip php_memcache-3.0.8-5.5-ts-vc11-x64.zip ...

    memcache图形监控工具phpmemcache

    memcache图形监控工具phpmemcache,尽是一个PHP文件就... 使用方法:本地测试监控机安装Apache或者下载XAMPP(Apache+MySQL+PHP+PERL),安装后把memcachephp.zip中的memcache.php文件放到www或者htdocs目录下即可。

    php7.2 memcache.dll

    标题 "php7.2 memcache.dll" 涉及到的是PHP编程语言的一个扩展模块,具体是Memcache的动态链接库(DLL)文件,用于在PHP 7.2环境中与Memcache缓存系统进行交互。PHP是一种广泛使用的开源服务器端脚本语言,尤其适合...

    php memcache-3.0.9.tar.gz php7 扩展 linux 包

    《PHP7 Memcache扩展3.0.9在Linux上的安装与使用详解》 在Web开发领域,PHP作为服务器端脚本语言,广泛应用于构建动态网站。为了提高网站性能,开发者通常会利用缓存技术,而Memcache就是一种广泛应用的分布式内存...

    memcache 扩展,php5.5 32,64 位,以及其他版本下载地址

    在PHP环境中,Memcache扩展使得PHP脚本可以直接与Memcache服务器进行交互,实现数据的快速读取和存储。 在PHP5.5版本中,对于32位和64位操作系统,需要安装对应的memcache扩展才能使用。这个扩展通常以`.dll`文件...

    PHP 5.4 使用的 memcache

    **PHP 5.4与Memcache的整合** 在PHP 5.4版本中,开发者可以利用Memcache扩展来实现高效的数据缓存,从而提高Web应用的性能。Memcache是一款广泛使用的分布式内存对象缓存系统,它能存储键值对数据,并在内存中快速...

    PHP5.4.7 的 php_memcache.dll

    **PHP5.4.7与php_memcache.dll** PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适合于Web开发,用于生成动态网页内容。在PHP5.4.7版本中,它引入了一系列增强性能和功能的改进。这个版本发布于...

    windows php7-memcache扩展

    **Windows环境下PHP7-Memcache扩展的安装与配置** 在Windows服务器上运行PHP应用程序时,为了提高数据存储和检索的效率,我们常常会使用到Memcache扩展。Memcache是一款广泛使用的分布式内存对象缓存系统,它能有效...

    php5.3的memcache

    **PHP5.3与Memcache** 在Web开发领域,PHP是一种广泛应用的服务器端脚本语言,而Memcache则是一款高效、分布式的内存对象缓存系统。本文将详细讲解PHP5.3版本下如何使用和配置Memcache,以及两者结合带来的性能优化...

    php_memcache.dll

    **PHP Memcache扩展** PHP Memcache扩展是一种用于在PHP中与Memcached缓存服务器进行交互的接口。Memcached是一款高性能的分布式内存对象缓存系统,它能够存储和检索数据,包括动态网页应用中的session和对象,以...

    php7 memcache扩展

    标题 "php7 memcache扩展" 描述 "php7.0 7.1 (vc14/vc15) memcache扩展 windows(x86/x64)" 提及了几个关键概念,包括PHP7、memcache扩展以及适用于Windows平台的不同架构版本。这里,我们将深入探讨这些主题,并...

    windows用php7的memcache所有版本dll

    标题 "windows用php7的memcache所有版本dll" 指的是在Windows操作系统上,针对PHP7的不同版本,提供了一系列的memcache扩展dll文件。这些动态链接库(dll)是PHP与Memcached缓存系统交互的关键组件,允许PHP应用程序...

Global site tag (gtag.js) - Google Analytics