【汇总】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。
---------------------------------------------
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn