1、Memcached类的介绍
详见PHP官方文档:点击访问。
2、封装自己的Memcached类库
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);
}
}
如有错误之处,请纠正。谢谢!
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网站上列出的语言就有: ...
随机推荐
React Native 红屏之Could not connect to development server.
React Native 是目前最火的开发框架,其他不说了,上Bug. 按照 React Native iOS环境搭建 高级版 在mac上 搭建 React Native 环境,运行 项目 若出 ...
洛谷P2964 [USACO09NOV]硬币的游戏A Coin Game
题目描述 Farmer John's cows like to play coin games so FJ has invented with a new two-player coin game c ...
Redis学习笔记~关于空间换时间的查询案例
回到目录 空间与时间 空间换时间是在数据库中经常出现的术语,简单说就是把查询需要的条件进行索引的存储,然后查询时为O(1)的时间复杂度来快速获取数据,从而达到了使用空间存储来换快速的时间响应!对于re ...
Excel 使用宏批量修改单元格内指定文字为红字
-> step 1:新建宏,进入编辑,使用如下代码: Sub Ss()Dim c As RangeFor Each c In ActiveSheet.UsedRange i = 1 While ...
.net学习之CTS、CLS和CLR
CLR:公共语言运行时,就是所有.net语言写的程序的公共运行时环境,比如C#.VB.Net等语言写的程序需要运行在CLR上,然后CLR解析执行操作系统的相关指令,CLR是.net程序运行在操作系统的 ...
Qt窗体关闭时,如何自动销毁窗体类对象
Qt窗体关闭时,如何自动销毁窗体类对象 要对你的窗口设置WA_DeleteOnClose属性,默认的情况下关闭窗口仅仅意味着隐藏它 ImgWindow1->setAttribute(Qt ...
CSS文字大小单位px、em、pt(转)
这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章,题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷.我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大.平时都是用p ...
pthread_create用法
linux下用C开发多线程程序,Linux系统下的多线程遵循POSIX线程接口,称为pthread. #include int pthread_create(pth ...
mysql简单建表
MySQL 字段约束 null,not null,default,auto_increment [来源于] 没有规矩,不成方圆,任何事物都是如此.在MySQL中,每个字段定义都包含附加约束或者修饰符, ...
有关C#分部类型的一些叙述
等待着元宵节的到来,过完元宵,这个年也算是过完了,也得开始出去挣钱了,过年回家感觉每个人都觉得很牛,只有自己太渣,为了避免年底再出现这样尴尬的局面,还是需要努力干活.争取当上CEO,赢取白富美,走上人 ...