Exemplo n.º 1
0
 private function requeueOldWorkingTasks()
 {
     $taskIds = array_unique($this->redis->lRange($this->getTaskRunKey(), 0, -1));
     foreach ($taskIds as $taskId) {
         $time = $this->redis->hGet($this->getTaskStartTimeKey(), $taskId);
         if (!empty($time) && time() > $this->taskTimeout + (int) $time) {
             $this->redis->multi();
             $this->redis->rPush($this->getTaskQueueKey(), $taskId);
             $this->redis->lRem($this->getTaskRunKey(), $taskId, 1);
             $this->redis->hDel($this->getTaskStartTimeKey(), $taskId);
         }
     }
 }
Exemplo n.º 2
0
 /**
  * Return values from list
  *
  * @param string   $key
  * @param int|null $start
  * @param int|null $stop
  * @return array
  */
 public function lRange($key, $start = null, $stop = null)
 {
     if (null === $start) {
         $start = 0;
     }
     if (null === $stop) {
         $stop = -1;
     }
     return $this->_redis->lRange($key, $start, $stop);
 }
Exemplo n.º 3
0
 static function through_area_get_school($area)
 {
     $redis = new Redis();
     $redis->connect('127.0.0.1', 6379);
     $list = $redis->lRange($area, 0, 500);
     if (empty($list)) {
         $local = new medoo();
         $list = $local->select('school', 'name', array('area' => $area));
         unset($local);
     }
     unset($redis);
     return $list;
 }
Exemplo n.º 4
0
 /**
  * @inheritdoc
  */
 public function peek($limit = 1)
 {
     $this->checkClientConnection();
     $result = $this->client->lRange("queue:{$this->name}:messages", -$limit, -1);
     if (!is_array($result) || count($result) === 0) {
         return [];
     }
     $messages = [];
     foreach ($result as $messageId) {
         $encodedPayload = $this->client->hGet("queue:{$this->name}:ids", $messageId);
         $messages[] = new Message($messageId, json_decode($encodedPayload, true));
     }
     return $messages;
 }
Exemplo n.º 5
0
 private function requeueOldWorkingMessages($type)
 {
     $messageIds = array_unique($this->redis->lRange($this->getMessageRunKey($type), 0, -1));
     foreach ($messageIds as $messageId) {
         $time = $this->redis->hGet($this->getMessageStartTimeKey($type), $messageId);
         if (!empty($time) && time() > $this->messageTimeout + (int) $time) {
             $this->redis->multi();
             $this->redis->rPush($this->getMessageQueueKey($type), $messageId);
             $this->redis->lRem($this->getMessageRunKey($type), $messageId, 1);
             $this->redis->hDel($this->getMessageStartTimeKey($type), $messageId);
             $this->redis->exec();
         }
     }
 }
 /**
  * Freezes this cache backend.
  *
  * All data in a frozen backend remains unchanged and methods which try to add
  * or modify data result in an exception thrown. Possible expiry times of
  * individual cache entries are ignored.
  *
  * A frozen backend can only be thawn by calling the flush() method.
  *
  * @throws \RuntimeException
  * @return void
  */
 public function freeze()
 {
     if ($this->isFrozen()) {
         throw new \RuntimeException(sprintf('Cannot add or modify cache entry because the backend of cache "%s" is frozen.', $this->cacheIdentifier), 1323344192);
     }
     do {
         $entriesKey = $this->buildKey('entries');
         $this->redis->watch($entriesKey);
         $entries = $this->redis->lRange($entriesKey, 0, -1);
         $this->redis->multi();
         foreach ($entries as $entryIdentifier) {
             $this->redis->persist($this->buildKey('entry:' . $entryIdentifier));
         }
         $this->redis->set($this->buildKey('frozen'), 1);
         $result = $this->redis->exec();
     } while ($result === false);
     $this->frozen = true;
 }
 public function view()
 {
     $key = isset($_GET['key']) ? $_GET['key'] : '';
     $pageId = isset($_GET['page']) ? max(intval($_GET['page']), 1) : 1;
     if (empty($key)) {
         Message::showError('项目key不能为空');
     }
     $limit = 50;
     $host = '172.16.53.68';
     $port = 6381;
     $rd = new Redis();
     $rd->connect($host, $port);
     $count = $rd->lsize($key);
     $data = $rd->lRange($key, $limit * ($pageId - 1), $limit * $pageId);
     $data = array_map('unserialize', $data);
     Common::debug($data);
     // $data = unserialize($data);
     // Common::debug($data);exit;
     $pageModel = new Page($count, $limit);
     $this->setView('data', $data);
     $this->setView('pageStr', $pageModel->getPageStr());
     $this->display('XhprofLog.html');
 }
Exemplo n.º 8
0
 public function testRenameNx()
 {
     // strings
     $this->redis->del('{key}0', '{key}1');
     $this->redis->set('{key}0', 'val0');
     $this->redis->set('{key}1', 'val1');
     $this->assertTrue($this->redis->renameNx('{key}0', '{key}1') === FALSE);
     $this->assertTrue($this->redis->get('{key}0') === 'val0');
     $this->assertTrue($this->redis->get('{key}1') === 'val1');
     // lists
     $this->redis->del('{key}0');
     $this->redis->del('{key}1');
     $this->redis->lPush('{key}0', 'val0');
     $this->redis->lPush('{key}0', 'val1');
     $this->redis->lPush('{key}1', 'val1-0');
     $this->redis->lPush('{key}1', 'val1-1');
     $this->assertTrue($this->redis->renameNx('{key}0', '{key}1') === FALSE);
     $this->assertTrue($this->redis->lRange('{key}0', 0, -1) === array('val1', 'val0'));
     $this->assertTrue($this->redis->lRange('{key}1', 0, -1) === array('val1-1', 'val1-0'));
     $this->redis->del('{key}2');
     $this->assertTrue($this->redis->renameNx('{key}0', '{key}2') === TRUE);
     $this->assertTrue($this->redis->lRange('{key}0', 0, -1) === array());
     $this->assertTrue($this->redis->lRange('{key}2', 0, -1) === array('val1', 'val0'));
 }
Exemplo n.º 9
0
?>
<div align="center" style="width: 100%">
<h2>Programmazione settimanale</h2>
<form name=uno action=salva_prog.php method=post>
<table border=2 cellpadding=0 cellspacing=0 width=100%>
<tr><td></td>
<?php 
$giorni = array("vuoto", "lun", "mar", "mer", "gio", "ven", "sab", "dom");
for ($ora = 0; $ora <= 23; $ora++) {
    echo '<th width="4%">' . $ora . ' </th>';
}
?>
</tr>
<?php 
for ($giorno = 1; $giorno <= 7; $giorno++) {
    $prog_giorno = $redis->lRange($giorni[$giorno], -24, -1);
    //print_r($prog_giorno);
    ?>
    <tr>
        <td width="4%"><?php 
    echo $giorni[$giorno];
    ?>
</td>
        <?php 
    for ($ora = 0; $ora <= 23; $ora++) {
        ?>
            <td class=compatta>
                <select name="<?php 
        echo $giorno;
        ?>
_<?php 
Exemplo n.º 10
0
<?php

error_reporting(E_ALL);
ini_set('display_errors', 'On');
$method = $_SERVER['REQUEST_METHOD'];
parse_str(file_get_contents('php://input'), $data);
$data = array_merge($_GET, $_POST, $data);
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
if (empty($data)) {
    $data = $redis->lRange('commit', 0, -1);
    $html = '<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Commit Lists</title></head><body><link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css"><script src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script><script src="http://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script><div class="container-fluid"><div class="table-responsive"><table class="table table-striped"><thead><tr><th>#</th><th>Author</th><th>Email</th><th>Branch</th><th>Time</th><th>Description</th></tr></thead><tbody>';
    if ($data) {
        foreach ($data as $key => $value) {
            $value = json_decode($value, 1);
            $html .= '<tr>';
            $html .= '<td>' . $key . '</td>';
            isset($value['author']) && ($html .= '<td>' . $value['author'] . '</td>');
            isset($value['mail']) && ($html .= '<td>' . $value['mail'] . '</td>');
            isset($value['branch']) && ($html .= '<td>' . $value['branch'] . '</td>');
            isset($value['time']) && ($html .= '<td>' . $value['time'] . '</td>');
            isset($value['description']) && ($html .= '<td>' . $value['description'] . '</td>');
            $html .= '</tr>';
        }
    }
    $html .= '</tbody></table></div></div></body></html>';
    echo $html;
} else {
    $redis->lPush('commit', json_encode($data));
    if ($data['branch'] == 'master') {
        shell_exec('sudo ./pull.sh');
Exemplo n.º 11
0
<?php

/*
$con = mysql_connect('localhost','root','abc123');
$db = mysql_select_db('test');


$q = "INSERT INTO notify ('user_id','msg') values ($user_id,$msg)";

mysql_query($q);
*/
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo $redis->ping();
$redis->lPush("key1e", 1, 2, 3, 4);
var_dump($redis->lRange('key1e', 0, -1));
$key = "Key_Name";
$redis->set($key, 'Key Value');
echo $redis->get($key);
//echo $_POST['time'];
Exemplo n.º 12
0
 /**
  * 获取list队列的index位置的元素值
  * @param $list string 队列名
  * @param $index int 队列元素开始位置 默认0
  * @param $end int 队列元素结束位置 $index=0,$end=-1:返回队列所有元素
  */
 public static function listGet($list, $index = 0, $end = null)
 {
     $redis = new \Redis();
     $redis->connect(self::_HOST, self::_PORT);
     $return = null;
     if ($end) {
         $return = $redis->lRange($list, $index, $end);
     } else {
         $return = $redis->lGet($list, $index);
     }
     $redis->close();
     $redis = null;
     return $return;
 }
Exemplo n.º 13
0
// string
$redis->delete("KeyTime");
$redis->mset(array('key111' => "key111", "key222" => "key222"));
echo (int) $redis->exists("key111");
$array = $redis->getMultiple(array("key111", "key222"));
echo "<br>";
print_r($array);
for ($i = 0; $i < 10; $i++) {
    $redis->lpush("list", $i);
}
$redis->lpop("list");
$redis->rpop("list");
echo $redis->lsize("list");
echo $redis->lget("list", 0);
echo $redis->lset("list", 1, "new_value");
$data = $redis->lRange("list", 0, -1);
echo "<pre>";
print_r($data);
$bool = $redis->ltrim("list", 0, 5);
echo $redis->lrem("list", "5");
$bool = $redis->rpoplpush("srcKey", "dstKey");
// SET
for ($i = 0; $i < 10; $i++) {
    $redis->sadd("myset", $i + rand(10, 99));
}
$bool = $redis->srem("myset", 16);
echo (int) $bool;
$bool = $redis->sMove("myset", "myset1", 35);
echo $bool;
$data = $redis->smembers("myset");
$bool = $redis->sismember("myset", 555);
Exemplo n.º 14
0
	var data = [], datarelay = [], dataest = [], options;

	<?php 
//if (!$_REQUEST['start'] && !$_REQUEST['end']) {
$start = -300;
$end = -1;
//} else {
//	$start=$_REQUEST['start'];
//	$end=$_REQUEST['end'];
//}
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE);
//$count = $redis->dbSize();
$lettura = $redis->lRange('lettura', $start, $end);
$timestamp = $redis->lRange('timestamp', $start, $end);
$temp_esterna = $redis->lRange('temp_esterna', $start, $end);
$termo = $redis->lRange('camera', $start, $end);
$rele = $redis->lRange('rele', $start, $end);
//$temp_1       = $redis->lRange('temp_1', $start, $end);
//$temp_2       = $redis->lRange('temp_2', $start, $end);
//$temp_3       = $redis->lRange('temp_3', $start, $end);
$min = $redis->lRange('min', $start, $end);
$max = $redis->lRange('max', $start, $end);
for ($x = 0; $x <= abs($start) - 1; $x++) {
    echo "data.push([" . $timestamp[$x] . ", " . $termo[$x] . "]);\n";
    echo "datarelay.push([" . $timestamp[$x] . ", " . $rele[$x] * 10 . "]);\n";
    echo "dataest.push([" . $timestamp[$x] . ", " . $temp_esterna[$x] . "]);\n";
    //echo "d1.push([" . $timestamp[$x] . "," . ($termo[$x]+10) . "]);\t";
    //echo "d2.push([" . $timestamp[$x] . "," . (($min[$x]+$max[$x])/2) . "]);\n";