Maison  >  Article  >  développement back-end  >  【集锦】PHP【memcache协议】

【集锦】PHP【memcache协议】

WBOY
WBOYoriginal
2016-06-13 13:13:03692parcourir

【汇总】PHP【memcache协议】

在面试的时候,被问到了关于memcache的很多方面,发现自己只知道set,get是不够的,所以重新整理下


基本内容

  • Memcache ― Memcache类
    • Memcache::add ― 增加一个条目到缓存服务器
    • Memcache::addServer ― 向连接池中添加一个memcache服务器
    • Memcache::close ― 关闭memcache连接
    • Memcache::connect ― 打开一个memcached服务端连接
    • Memcache::decrement ― 减小元素的值
    • Memcache::delete ― 从服务端删除一个元素
    • Memcache::flush ― 清洗(删除)已经存储的所有的元素
    • Memcache::get ― 从服务端检回一个元素
    • Memcache::getExtendedStats ― 缓存服务器池中所有服务器统计信息
    • Memcache::getServerStatus ― 用于获取一个服务器的在线/离线状态
    • Memcache::getStats ― 获取服务器统计信息
    • Memcache::getVersion ― 返回服务器版本信息
    • Memcache::increment ― 增加一个元素的值
    • Memcache::pconnect ― 打开一个到服务器的持久化连接
    • Memcache::replace ― 替换已经存在的元素的值
    • Memcache::set ― Store data at the server
    • Memcache::setCompressThreshold ― 开启大值自动压缩
    • Memcache::setServerParams ― 运行时修改服务器参数和状态


实际场景中经常需要遇到的情况

-------------------------------

Memcache::add()

如果不存在,再赋值


Memcache::addServer()

当使用这个方法的时候, 网络连接并不会立刻建立,而是直到真正使用的时候才建立。 因此在加入大量服务器到连接池中时也是没有开销的,因为它们可能并不会被使用。


Memcache::decrement()

在元素不存在时不能 创建它

首先将元素当前值转换成数值然后减去value

新的元素的值不会小于0


Memcache::flush()

立即使所有已经存在的元素失效

并不会真正的释放任何资源,而是仅仅标记所有元素都失效了,因此已经被使用的内存会被新的元素复写。


Memcache::increment()

不会 在key对应元素不存在时创建元素。

将指定元素的值增加value

如果指定的key 对应的元素不是数值类型并且不能被转换为数值, 会将此值修改为value .


Memcache::replace()

通过key 来查找元素并替换其值。

当key对应的元素不存在时,返回FALSE


---------------------------------------------


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn