示例#1
0
 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();
示例#4
0
{
    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