【集锦】PHP【memcache协议】
                        
                            时间:2021-07-01 10:21:17
                            帮助过:2人阅读
							                        
                     
                    
                    【汇总】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
。
---------------------------------------------