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; }
public function test_string() { $this->assertEquals(false, redis_cli::get(88888)); $this->assertEquals(true, redis_cli::set(88888, 'hjkl;')); $this->assertEquals('hjkl;', redis_cli::get(88888)); $this->assertEquals(5, redis_cli::strlen(88888)); $this->assertEquals(false, redis_cli::get('bbb')); $this->assertEquals(true, redis_cli::set('bbb', 'dddqwert')); $this->assertEquals('dddqwert', redis_cli::get('bbb')); $this->assertEquals(8, redis_cli::strlen('bbb')); }
<?php require dirname(__FILE__) . '/redis.php'; define('NL', PHP_SAPI == 'cli' ? "\n" : '<br />'); $redis = new redis_cli('127.0.0.1', 6379); //$redis -> cmd ( 'SELECT', 9 ); ///////////////////////////////////////////////////////////// $redis->cmd('SET', 'foo', 'bar')->set(); $foo = $redis->cmd('GET', 'foo')->get(); var_dump($foo); echo NL . str_repeat('-', 20) . NL . NL; ///////////////////////////////////////////////////////////// $redis->cmd('HSET', 'hash', 'foo', 'bar')->cmd('HSET', 'hash', 'abc', 'def')->cmd('HSET', 'hash', '123', '456')->set(); $vals = $redis->cmd('HGETALL', 'hash')->get(); var_dump($vals); $total = $redis->cmd('HVALS', 'hash')->get_len(); var_dump($total); echo NL . str_repeat('-', 20) . NL . NL; ///////////////////////////////////////////////////////////// $redis->cmd('INCR', 'online_foo')->cmd('INCR', 'online_bar')->cmd('INCRBY', 'online_foo', 3)->set(); $total_online = $redis->cmd('KEYS', 'online*')->get_len(); var_dump($total_online); $foo_online = $redis->cmd('GET', 'online_foo')->get(); var_dump($foo_online); echo NL . str_repeat('-', 20) . NL . NL; ///////////////////////////////////////////////////////////// $hash = 'GO-' . date('dHi'); $redis->cmd('SADD', $hash, 'Some data')->cmd('SADD', $hash, 'More data')->cmd('SADD', $hash, 'Even more data')->cmd('EXPIRE', $hash, 900)->set(); $expiration = $redis->cmd('TTL', $hash)->get(); var_dump($expiration); $total = $redis->cmd('SCARD', $hash)->get();
{ curl_setopt_array($ch = curl_init(), array(CURLOPT_URL => $apiUrl, CURLOPT_POSTFIELDS => array("token" => $apiToken, "user" => $apiUser, "message" => $pushMessage), CURLOPT_SAFE_UPLOAD => true, CURLOPT_RETURNTRANSFER => true)); curl_exec($ch); curl_close($ch); } # basic variables $BASE_PATH = realpath(dirname(__FILE__)); include $BASE_PATH . "/../config/pushover-config.php"; $lastAvgValueFile = "/tmp/average-temp.txt"; # homegear stuff include_once $BASE_PATH . "/../includes/homematic.php"; $home = new HomeMaticInstance(); $devices = $home->getAllDevices(true); # redis stuff include_once $BASE_PATH . "/../includes/redis/redis.php"; $redis = new redis_cli("127.0.0.1", 6379); ########################################################## # Compare current Avg Temp against last known Avg Temp # ########################################################## $temperatures = array(); foreach ($devices as $device) { if (!empty($device["tempSensor"])) { $temperatures[] = $device["tempSensor"]; } } if (count($temperatures) > 0) { $avgTemp = round(array_sum($temperatures) / count($temperatures), 2); } else { $avgTemp = 0.0; } # read last value