本文整理汇总了PHP中Redis::llen方法的典型用法代码示例。如果您正苦于以下问题:PHP Redis::llen方法的具体用法?PHP Redis::llen怎么用?PHP Redis::llen使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Redis
的用法示例。
在下文中一共展示了Redis::llen方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: flushQueue
/**
* {@inheritdoc}
*/
public function flushQueue(\Swift_Transport $transport, &$failedRecipients = null)
{
if (!$this->redis->llen($this->key)) {
return 0;
}
if (!$transport->isStarted()) {
$transport->start();
}
$failedRecipients = (array) $failedRecipients;
$count = 0;
$time = time();
while ($message = unserialize($this->redis->lpop($this->key))) {
$count += $transport->send($message, $failedRecipients);
if ($this->getMessageLimit() && $count >= $this->getMessageLimit()) {
break;
}
if ($this->getTimeLimit() && time() - $time >= $this->getTimeLimit()) {
break;
}
}
return $count;
}
示例2: testltrim
public function testltrim()
{
$this->redis->del('list');
$this->redis->lPush('list', 'val');
$this->redis->lPush('list', 'val2');
$this->redis->lPush('list', 'val3');
$this->redis->lPush('list', 'val4');
$this->assertEquals(TRUE, $this->redis->ltrim('list', 0, 2));
$this->assertEquals(3, $this->redis->llen('list'));
$this->redis->ltrim('list', 0, 0);
$this->assertEquals(1, $this->redis->llen('list'));
$this->assertEquals('val4', $this->redis->lPop('list'));
$this->assertEquals(TRUE, $this->redis->ltrim('list', 10, 10000));
$this->assertEquals(TRUE, $this->redis->ltrim('list', 10000, 10));
// test invalid type
$this->redis->set('list', 'not a list...');
$this->assertEquals(FALSE, $this->redis->ltrim('list', 0, 2));
}
示例3: Redis
$log->set_logfile("/var/log/emoncms.log");
$log->set_topic("FEEDWRITER");
$log->info("Starting feedwriter process");
// Connect to redis
$redis = new Redis();
while (!$redis->connect("127.0.0.1")) {
sleep(1);
$log->warn("Could not connect to redis, retrying");
}
require "Modules/feed/engine/PHPTimeSeries.php";
require "Modules/feed/engine/PHPFina.php";
$engine = array();
$engine[Engine::PHPTIMESERIES] = new PHPTimeSeries($feed_settings['phptimeseries']);
$engine[Engine::PHPFINA] = new PHPFina($feed_settings['phpfina']);
while (true) {
$len = $redis->llen("feedbuffer");
for ($i = 0; $i < $len; $i++) {
$f = explode(",", $redis->lpop("feedbuffer"));
$feedid = $f[0];
$timestamp = $f[1];
$value = $f[2];
$padding_mode = (int) $f[3];
$e = $redis->hget("feed:{$feedid}", 'engine');
if ($padding_mode == 1) {
$engine[Engine::PHPFINA]->padding_mode = 'join';
}
$engine[$e]->prepare($feedid, $timestamp, $value);
$engine[Engine::PHPFINA]->padding_mode = 'nan';
}
$log->info("PHPTimeSeries bytes written: " . $engine[Engine::PHPTIMESERIES]->save());
$log->info("PHPFina bytes written: " . $engine[Engine::PHPFINA]->save());
示例4: llen
public function llen($key)
{
return parent::llen($this->generateUniqueKey($key));
}
示例5: get
<?php
define('EMONCMS_EXEC', 1);
require "route.php";
$route = new Route(get('q'));
$redis = new Redis();
$redis->connect("127.0.0.1");
if ($route->format == 'json') {
if ($route->controller == 'input') {
if ($route->action == 'post') {
$array = array("time" => time(), "apikey" => get('apikey'), "nodeid" => (int) get('node'), "csv" => get('csv'));
$msg = json_encode($array);
$buflength = $redis->llen('buffer');
if ($buflength < 1000) {
$redis->rpush('buffer', $msg);
}
}
}
}
function get($index)
{
$val = null;
if (isset($_GET[$index])) {
$val = $_GET[$index];
}
return $val;
}
示例6: date
if (!$success) {
error_log("\r\n track_log redis is fail", 3, '/tmp/err_track_log.log');
echo "track_log redis is fail";
exit;
}
if ($rpassword) {
$redis_handle->auth($rpassword);
}
$redis_handle->select($rdb);
$redis_bi_key = 'bi';
while (true) {
if ($to_exit) {
echo "[" . date('Y-m-d H:i:s') . "] track log quit for user end\n";
break;
}
if ($redis_handle->llen($redis_bi_key) > 0) {
$url = $redis_handle->rpop($redis_bi_key);
if (!empty($url)) {
$result = curl($url);
if ($result === false) {
$redis_handle->lpush($redis_bi_key, $url);
}
}
}
//usleep(100000);
usleep(1);
}
/**
*
* @param string $url
* @param array $post_data
示例7: Redis
<?php
$redis = new Redis();
$redis->connect("127.0.0.1");
$i = 0;
while (true) {
if (time() - $ltime > 1) {
$ltime = time();
print $i . "\n";
$i = 0;
}
if ($redis->llen('myqueue') > 0) {
// check if there is an item in the queue to process
$line_str = $redis->lpop('myqueue');
$i++;
}
}
示例8: User
$redis->connect("127.0.0.1");
require "Modules/user/user_model.php";
$user = new User($mysqli, $redis, null);
require "Modules/feed/feed_model.php";
$feed = new Feed($mysqli, $redis, $timestore_adminkey);
require "Modules/input/input_model.php";
$input = new Input($mysqli, $redis, $feed);
require "Modules/input/process_model.php";
$process = new Process($mysqli, $input, $feed);
$rn = 0;
$ltime = time();
$usleep = 100000;
while (true) {
if (time() - $ltime >= 1) {
$ltime = time();
$buflength = $redis->llen('buffer');
// A basic throthler to stop the script using up cpu when there is nothing to do.
// Fine tune sleep
if ($buflength < 2) {
$usleep += 50;
} else {
$usleep -= 50;
}
// if there is a big buffer reduce sleep to zero to clear buffer.
if ($buflength > 100) {
$usleep = 0;
}
// if throughput is low then increase sleep significantly
if ($rn == 0) {
$usleep = 100000;
}
示例9: Redis
<?php
/*
* 生成新消息,放入主queue中
*/
include_once __DIR__ . '/config.php';
$redis = new Redis();
$redis->connect(REDIS_HOST, REDIS_PORT);
while (1) {
echo "Primary: " . $redis->llen(PRIMARY_CHANNEL) . ' Secondary: ' . $redis->llen(SECONDARY_CHANNEL) . "\n";
sleep(1);
}
示例10: make_toolbar
public static function make_toolbar()
{
$content = '';
$infowindows = '';
ob_start();
if (!empty(self::$links)) {
echo '<ul class="panel links">';
foreach (self::$links as $link) {
echo '<li>' . $link['label'] . ': <a href="' . $link['url'] . '">' . $link['link_text'] . '</a></li>';
}
echo '</ul>';
}
$stats = \jmvc\Db::$stats;
if (is_array($stats)) {
$total = $stats['select'] + $stats['insert'] + $stats['update'] + $stats['delete'];
echo '<div class="panel">
<h3>Database Stats</h3>
<table class="data">
<tr>
<td><strong>Total</strong></td>
<td class="num"><strong>' . $total . '</strong></td>
</tr>
<tr>
<td>Select</td>
<td class="num">' . $stats['select'] . '</td>
</tr>
<tr>
<td>Insert</td>
<td class="num">' . $stats['insert'] . '</td>
</tr>
<tr>
<td>Update</td>
<td class="num">' . $stats['update'] . '</td>
</tr>
<tr>
<td>Delete</td>
<td class="num">' . $stats['delete'] . '</td>
</tr>
</table>';
$queries = \jmvc\Db::$queries;
if (is_array($queries) && !empty($queries)) {
$rows = '';
foreach ($queries as $query) {
$rows .= '<tr>
<td class="num">' . round($query['time'] * 1000) . 'ms</td>
<td>' . self::table_names($query['query']) . '
</td>
<td><a href="#" class="showquery">Show Query</a>
<div class="query">' . nl2br($query['query']) . '</div></td>
</tr>';
}
$infoWindows .= '<div id="jmvc-debug-dbqueries">
<table class="data">
' . $rows . '
</table>
</div>';
echo '<a href="#" rel="jmvc-debug-dbqueries" class="jmvc-debug-infoWindowLink">Show DB Queries</a>';
}
echo '</div>';
}
$stats = \jmvc\classes\Cache_Interface::$stats;
if (is_array($stats)) {
echo '<div class="panel">
<h3>Cache Stats</h3>
<table class="data">
<tr>
<td>Hits</td>
<td class="num">' . $stats['hits'] . '</td>
</tr>
<tr>
<td>Misses</td>
<td class="num">' . $stats['misses'] . '</td>
</tr>
<tr>
<td>Writes</td>
<td class="num">' . $stats['writes'] . '</td>
</tr>
</table>';
if (!empty($stats['keys'])) {
$rows = '';
foreach ($stats['keys'] as $key) {
$rows .= '<tr>
<td>' . $key[0] . '</td>
<td>' . $key[1] . '</td>
</tr>';
}
$infoWindows .= '<div id="jmvc-debug-cache-keys">
<table class="data">
' . $rows . '
</table>
</div>';
echo '<a href="#" rel="jmvc-debug-cache-keys" class="jmvc-debug-infoWindowLink">Show Keys</a>';
}
echo '</div>';
}
if (isset($GLOBALS['_CONFIG']['redis'])) {
$r = new \Redis();
$r->connect($GLOBALS['_CONFIG']['redis']['host'], $GLOBALS['_CONFIG']['redis']['port']);
$mail_count = $r->llen('jmvc:rmail');
if (IS_PRODUCTION && $mail_count) {
//.........这里部分代码省略.........
示例11: Redis
<?php
header('Content-Type: text/event-stream;charset=UTF-8');
header('Cache-Control: no-cache');
header("Connection: keep-alive");
set_time_limit(0);
$objRedis = new Redis();
$objRedis->connect("localhost");
$numStateEvents = $objRedis->llen('eventQueue');
for ($i = 0; $i < $numStateEvents; $i++) {
$objRedis->lpop('eventQueue');
}
while (true) {
$event = $objRedis->lpop('eventQueue');
if ($event) {
echo "data: {$event}\n\n";
ob_flush();
flush();
}
}
示例12: cartSetCount
/**
* 设置某个商品在购物车里的数量
* 此项操作必须是购物车至少有一件的情况
*/
public function cartSetCount()
{
if (Auth::check()) {
$cartkey = Auth::user()->front_uid;
} else {
$cartkey = $this->getIP();
}
$key = 'laravel:user:' . $cartkey . ':cart';
$good_id = Input::get('good_id');
$shop_id = Input::get('shop_id');
// 不用
$count = Input::get('count');
$ids = array_count_values(Redis::lrange($key, 1, -1));
$num = $count - $ids[$good_id];
if ($num > 0) {
for ($i = $num; $i > 0; $i--) {
Redis::rpush($key, $good_id);
}
} elseif ($num < 0) {
Redis::lrem($key, $num, $good_id);
if (Redis::llen($key) == 1) {
Redis::del($key);
}
}
// 相等就不作处理了s
//var_dump(Redis::lrange($key, 0, -1));
return Response::json(array('success' => 'true'));
}