下面由thinkphp教程欄目給大家介紹thinkphp6多例redis類實現,希望對需要的朋友有所幫助!
1.操作前的準備
如果沒有安裝phpredis模塊那么先執行
composer?require?predis/predis
2.配置Redis連接信息
在appconfigcache.php中配置
立即學習“PHP免費學習筆記(深入)”;
'redis'?=>?[ ???//?驅動方式 ????'type'???????=>?'redis', ????//?連接地址 ????'host'???????=>?Env::get('redis.host'), ????//?端口 ????'port'???????=>?Env::get('redis.port'),],
更多配置參考
/** ?*?配置參數 ?*?@var?array ?*/protected?$options?=?[ ????'host'???????=>?'127.0.0.1', ????'port'???????=>?6379, ????'password'???=>?'', ????'select'?????=>?0, ????'timeout'????=>?0, ????'expire'?????=>?0, ????'persistent'?=>?false, ????'prefix'?????=>?'', ????'tag_prefix'?=>?'tag:', ????'serialize'??=>?[],];
在.env中配置連接信息
[REDIS]host?=?127.0.0.1 port?=?6379
3.編寫代碼
在appcommon下創建文件Redis.php
<?phpnamespace appcommon;use thinkfacadeConfig;use thinkcachedriverredis as ThinkRedis;class Redis extends ThinkRedis{ /** * @var int */ protected $hash; /** * @var array */ protected static $instance = []; /** * Redis constructor. * @param $db */ private function __construct($db) { $options = Config::get('cache.stores.redis'); $options['select'] = $db; $this->hash?=?$db; ????????$this->options?=?array_merge($this->options,?$options); ????????parent::__construct(); ????} ????private?function?__clone() ????{ ????} ????/** ?????*?@param?int?$db ?????*?@return?PredisClient|Redis ?????*/ ????public?static?function?instance($db?=?0) ????{ ????????if?(!?isset(self::$instance[$db]))?{ ????????????self::$instance[$db]?=?new?self($db); ????????} ????????return?self::$instance[$db]; ????} ????public?function?__destruct() ????{ ????????self::$instance[$this->hash]->close(); ????????unset(self::$instance[$this->hash]); ????}}
4.使用方式
use?appcommonRedis; $redis?=?Redis::instance(4); $redis->hSet('user:1',?'userName',?'admin'); Redis::instance(1)->hSet('user',?'name',?'admin1'); Redis::instance(2)->hSet('user',?'name',?'admin2'); Redis::instance(3)->hSet('user',?'name',?'admin3');
更多使用方法請參考 thinkphp
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END