Redis Client,单例
php代码
<?php //if(!defined('BASEPATH')) exit('No direct script access allowed...'); /** * ---------------- redis.conf.php ------------------ * $redis_conf = array(); * $redis_conf['master'] = array();; * $redis_conf['master']['host'] = '127.0.0.1'; * $redis_conf['master']['port'] = 6379; * $redis_conf['master']['passwd'] = ''; * $redis_conf['master']['timeout'] = 1; * ---------------- author: simon ------------------ */ /** * Redis Client Interface * * ------------------- Usage --------------------- * $conf_dir = __DIR__ .'/../conf/redis.conf.php'; * $redis = RedisCli::getInstance($conf_dir, 'master'); * $ret = $redis->set('xxxxx', 'good'); * $ret = $redis->get('xxxxx'); * */ class RedisCli { private static $_instance = array(); private $_redis = false; /** * 单例模型,构造函数 */ public static function getInstance($conf_dir='/xxx/redis.conf.php', $serverName='master') { if (isset(self::$_instance[$serverName])) { return self::$_instance[$serverName]; } require_once($conf_dir); if (!isset($redis_conf[$serverName])) { throw new Exception("param serverName Or redis config error..."); } $conf = $redis_conf[$serverName]; if (!class_exists('Redis')) { throw new Exception("Class Redis not exists, please install the php Redis extension..."); } if (isset($conf['host']) && isset($conf['port']) && isset($conf['passwd']) && isset($conf['timeout'])) { self::$_instance[$serverName] = new self($conf['host'], $conf['port'], $conf['passwd'], $conf['timeout']); return self::$_instance[$serverName]; } return false; } /** * 私有, 单例模型,禁止外部构造 */ private function __construct($host, $port, $passwd, $timeout) { $this->_redis = new Redis(); if ($this->_redis->connect($host, $port, $timeout)) { if (!empty($passwd)) { $this->_redis->auth($passwd); } } } /** * 私有, 单例模型,禁止克隆 */ private function __clone() { } /** * 公有,调用对象函数 */ public function __call($method, $args) { if (!$this->_redis || !$method) { return false; } if (!method_exists($this->_redis, $method)) { throw new Exception("Class RedisCli not have method ($method) "); } return call_user_func_array(array($this->_redis, $method), $args); } } ?>
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事
<🎜>:庭を育てる - 完全な突然変異ガイド
3週間前
By DDD
<🎜>:バブルガムシミュレーターインフィニティ - ロイヤルキーの取得と使用方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
KB5055612を修正する方法Windows 10にインストールできませんか?
3週間前
By DDD
Nordhold:Fusion System、説明
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
マンドラゴラ:魔女の木のささやき - グラップリングフックのロックを解除する方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Java チュートリアル
1666
14


CakePHP チュートリアル
1425
52


Laravel チュートリアル
1327
25


PHP チュートリアル
1273
29


C# チュートリアル
1253
24

