Redis基础知识之——自定义封装单实例和普通类Redis
2016-09-24 19:33
585 查看
一、普通Redis实例化类:
class MyRedis { private $redis; public function __construct($host = '121.41.88.209', $port = 63789) { $this->redis = new Redis(); $this->redis->connect($host, $port); } public function expire($key = null, $time = 0) { return $this->redis->expire($key, $time); } public function psubscribe($patterns = array(), $callback) { $this->redis->psubscribe($patterns, $callback); } public function setOption() { $this->redis->setOption(\Redis::OPT_READ_TIMEOUT,-1); } }
二、单例模式Redis实例化类:
<?php /** * Created by PhpStorm. * User: Tinywan * Date: 2016/7/3 * Time: 9:26 * Mail: Overcome.wan@Gmail.com * Singleton instance */ namespace Org\Util; class RedisInstance { /** * 类对象实例数组,共有静态变量 * @var null */ private static $_instance; /** * 数据库连接资源句柄 * @var */ private static $_connectSource; /** * 私有化构造函数,防止类外实例化 * RedisConnect constructor. */ private function __construct() { } /** * 单例方法,用于访问实例的公共的静态方法 * @return \Redis * @static */ public static function getInstance() { if (!(static::$_instance instanceof \Redis)) { static::$_instance = new \Redis(); self::getInstance()->connect(C('MASTER.HOST'), C('MASTER.PORT'), C('MASTER.TIMEOUT')); } return static::$_instance; } /** * Redis数据库是否连接成功 * @return bool|string */ public static function connect() { // 如果连接资源不存在,则进行资源连接 if (!self::$_connectSource) { //@return bool TRUE on success, FALSE on error. self::$_connectSource = self::getInstance()->connect(C('MASTER.HOST'), C('MASTER.PORT'), C('MASTER.TIMEOUT')); // 没有资源返回 if (!self::$_connectSource) { return 'Redis Server Connection Fail'; } } return self::$_connectSource; } /** * 私有化克隆函数,防止类外克隆对象 */ private function __clone() { // TODO: Implement __clone() method. } /** * @return \Redis * @static */ public static function test() { return 'test'; }
相关文章推荐
- Android自定义View总结(一)基础知识与实例
- C#接口基础知识实例讲解
- USB基础知识1:USB各型插座插头封装引脚分布
- ABAP开发基础知识:3) 自定义数据类型(User-Defined Data Types)
- Javascript基础知识篇(3): 面向对象之封装和信息隐藏
- Oracle基础知识--实例及其他
- Play Framework 简单实例分析以及基础知识整合
- DAN疼之后上些基础知识---自定义HttpModule和httpHandler
- CSharp基础知识4-循环语句小实例
- WCF揭秘之基础知识实例-vs2010下调试通过
- Tcp应用实例---1.基础知识
- 实例总结C#反射基础知识[原创]
- 实例总结C#反射基础知识
- 实例总结C#反射基础知识
- Oralce基础知识-实例优化(添加整理中)
- Javascript & DHTML 实例编程(教程)基础知识
- 自定义标签基础知识
- 一步一步学习sharepoint2010 workflow 系列第二部分:SharePoint无代码工作流 第7章 自定义表单的基础知识(Custom form fundamentals)
- 关于自定义WEB服务器控件的知识与实例