PHP和Memcached - 在PHP中的应用 - Memcached类介绍 - 封装自己的Memcached类库
1、Memcached类的介绍
详见PHP官方文档:点击访问。
2、封装自己的Memcached类库
<?php namespace Cache\Lib; class MemCache
{
/**
* @var \Memcached
* 访问变量可以使用Memcached类库的其他方法
*/
public $_memcache; public function __construct($persistentId = null)
{
$cache = new \Memcached($persistentId); //判断服务器地址是否为空
if(!$cache->getServerList())
{
//一般从config文件中读取服务器地址
//添加服务器地址,去掉s只能添加一个服务器地址
$cache->addServers(
array(
//ip地址,端口,权重 | 权重越大,该服务越容易被选中
array('192.168.3.105', 11211, 60),
array('192.168.3.105', 11311, 40),
)
);
} //key 前缀的设置
$cache->setOption(\Memcached::OPT_PREFIX_KEY, 'imooc.'); $this->_memcache = $cache;
} /**
* 设置缓存
* @param string $key 缓存key
* @param string|array $value
* @param int $ttl 过期时间
* @return bool
*/
public function set($key, $value, $ttl = 3600)
{
if(empty($key) || empty($value) || is_numeric($ttl))
{
return false;
} return $this->_memcache->set($key, $value, $_SERVER['REQUEST_TIME'] + $ttl);
} /**
* 获取缓存
* @param $key
* @return bool|mixed
*/
public function get($key)
{
if(empty($key))
{
return false;
}
return $this->_memcache->get($key);
} /**
* 清空缓存处理
* @param $key
* @return bool
*/
public function clean($key)
{
if(empty($key))
{
return false;
} return $this->_memcache->delete($key);
} /**
* 自增处理
* @param $key
* @param $offset
* @return bool|int
*/
public function incr($key, $offset = 1)
{
if(empty($key))
{
return false;
}
$offset = intval($offset);
return $this->_memcache->increment($key, $offset);
} /**
* 自减少处理
* @param $key
* @param int $offset
* @return bool|int
*/
public function decr($key, $offset = 1)
{
if(empty($key))
{
return false;
}
$offset = intval($offset);
return $this->_memcache->decrement($key, $offset);
} /**
* add处理
* @param $key
* @param $value
* @param int $ttl
* @return bool
*/
public function add($key, $value, $ttl = 3600)
{
if(empty($key) || empty($value) || is_numeric($ttl))
{
return false;
} return $this->_memcache->add($key, $value, $_SERVER['REQUEST_TIME'] + $ttl);
} }
如有错误之处,请纠正。谢谢!
PHP和Memcached - 在PHP中的应用 - Memcached类介绍 - 封装自己的Memcached类库的更多相关文章
- C#中的Dictionary字典类介绍
Dictionary字典类介绍 必须包含名空间System.Collection.Generic Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是 ...
- Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流)
1.File类:对硬盘上的文件和目录进行操作的类. File类是文件和目录路径名抽象表现形式 构造函数: 1) File(String pathname) Creat ...
- (转)C#中的Dictionary字典类介绍
关键字:C# Dictionary 字典 作者:txw1958原文:http://www.cnblogs.com/txw1958/archive/2012/11/07/csharp-dictionar ...
- SpringMvc 中的实用工具类介绍(包括 ResponseEntity、 RestTemplate、WebUtils 等)
此部分内容将包含 ResponseEntity. RestTemplate.WebUtils 等 1. ResponseEntity ① Sprring Mvc 中作为方法的返回值使用法 @Reque ...
- JPI中常使用的类介绍:
Math类: java.lang包下的 final,不可被继承, 其中的方法和属性都是静态的 其构造方法私有化了,其他类不可以使用构造方法. 向上取整:Math.ceil(double d); 向下取 ...
- Android(java)学习笔记110:Java中操作文件的类介绍(File + IO流)
1.File类:对硬盘上的文件和目录进行操作的类. File类是文件和目录路径名抽象表现形式 构造函数: 1) File(String pathname) Creat ...
- Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...
- 【转】 Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...
- 【转载】Memcached在.Net中的基本操作
一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...
随机推荐
- YII框架的类自动加载机制
YII之所以能实现快速的自动加载类文件,是因为它通过两种途径来实现. 先看文件 vendor\yiisoft\yii2\BaseYii.php 里面的 autoload 方法 public stati ...
- Ubuntu 14.04 indigo 安装 cartographer 1.0.0
安装依赖(cmake 版本为2.8,我的是自带的)sudo apt-get updatesudo apt-get install -y g++ git google-mock libboost-all ...
- Java基础系列 - 子类继承父类,调用父类的构造函数
package com.test7; public class test7 { public static void main(String[] args) { Son son = new Son(1 ...
- Dp优化之决策单调栈优化
证明:g(i) ≤ g(j) (i ≤ j) 令 d=g(i) , k<d , 设cut = x表示 f(i) = f(x) + w[x,i] ( x < i ) 构造一个式子: ...
- NPM私有包部署到私有仓库
NPM私有包部署到私有仓库1.项目部署到NPM2.私有仓库的搭建1,项目部署到NPM注册NPM账号注册地址:https://www.npmjs.com/ 注册完成后进入邮箱验证 账号登录 npm lo ...
- 转: mysql的取整函数
一.ROUND()函数用法 ROUND(X) -- 表示将值 X 四舍五入为整数,无小数位 ROUND(X,D) -- 表示将值 X 四舍五入为小数点后 D 位的数值,D为小数点后小数位数.若要 ...
- pytorch常用损失函数
损失函数的基本用法: criterion = LossCriterion() #构造函数有自己的参数 loss = criterion(x, y) #调用标准时也有参数 得到的loss结果已经对min ...
- GPS nmealib学习 问题
When building on Ubuntu 12.x the build fails with the following error… gcc samples/generate/main.o ...
- web框架之MVC/MTV
MVC框架 MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式 Model(模型)表示应用程序核心(比如数据库记录列表) Vi ...
- Spring Boot使用过滤器Filter
首先创建一个测试用的controller:TestController: package com.zifeiy.test.controller; import org.springframework. ...