public static function instance() { if (self::$_redis instanceof Redis) { // do what you need here // ... } else { self::$_redis = new Redis(); // get the config setting $config = json_decode(file_get_contents('redis_cli.conf'), true); $redis_ip = $config['redis']['ip']; $redis_port = $config['redis']['port']; // connection setting self::$_redis->pconnect($redis_ip, $redis_port); // also, we can do more, like // self::$_redis->auth('passwd'); // self::$_redis->select(7); // select database // self::$_redis->ping(); // this will return string '+PONG', or RedisException object on connectivity error. // ... // server setting, like // self::$_redis->config("GET", "*max-*-entries*"); // self::$_redis->config("set", "dir", "/var/run/redis/dumps/"); // self::$_redis->slaveof('10.0.1.7', 6379); // ... } $ref =& self::$_redis; return $ref; }