首先我们需要在根目录下新建一个db目录,然后在db目录下新建一个RedisInstance类文件,内容如下:
<?php
namespace db;
class RedisInstance
{
protected static $db;
private function __construct(){}
public static function getInstance(){
if(!self::$db){
//获取config配置文件
$params=PARAMS[CHATENV];
self::$db = new \Redis();
self::$db->connect('127.0.0.1', 6379);
}
return self::$db;
}
}
这是一个单例,在每次获取Redis实例的时候,只能通过getInstance的方法来获取,这样我们在第一次使用Redis的时候,就可以让实例永驻内存,以后所有的Redis操作都基于同一份实例。
在/pool目录下新建pool.php文件,内容如下:
<?php
namespace pool;
use db\RedisInstance;
class pool{
public static function redis(){
return RedisInstance::getInstance();
}
}
在业务逻辑中要想获取Redis实例,必须通过pool::redis的方式来获取。
这样做的好处是:我们可以在不修改业务代码的前提下,对Redis实例类进行任何操作,即使是获取Redis实例的方法改变,也不会影响业务流程。
网友评论