Memory
Swoole�ṩ��6���ڴ������ģ�飬�ڶ���̱���п���������Աʵ��һЩ���������
- Memory�µ�ģ�����ȫ�������첽�����������У��������κ�IO����
- ����ģ���Ϊ����̰�ȫ�ģ����赣������ͬ������
- Memory���ģ�����Ϊ������Դ�����ɴ�������
Lockʾ����
$lock = new swoole_lock(SWOOLE_MUTEX);
echo "[Master]create lock\n";
$lock->lock();
if(pcntl_fork() > 0)
{
sleep(1);
$lock->unlock();
}
else
{
echo "[Child] Wait Lock\n";
$lock->lock();
echo "[Child] Get Lock\n";
$lock->unlock();
exit("[Child] exit\n");
}
echo "[Master]release lock\n";
unset($lock);
sleep(1);
echo "[Master]exit\n";
Bufferʾ����
$buffer = new swoole_buffer;
$buffer->append(str_repeat("A", 10));
$buffer->append(str_repeat("B", 20));
$buffer->append(str_repeat("C", 30));
var_dump($buffer);
echo $buffer->substr(0, 10, true)."\n";
echo $buffer->substr(0, 20, true)."\n";
echo $buffer->substr(0, 30)."\n";
$buffer->clear();
echo $buffer->substr(0, 10, true)."\n";
var_dump($buffer);
sleep(1);
Tableʾ����
$table = new swoole_table(1024);
$table->column('name', swoole_table::TYPE_STRING, 64);
$table->column('id', swoole_table::TYPE_INT, 4); //1,2,4,8
$table->column('num', swoole_table::TYPE_FLOAT);
$table->create();
$table->set('swoole@qq.com', array('id' => 145, 'name' => 'swoole1', 'num' => 3.1415));
$table->set('123456@qq.com', array('id' => 358, 'name' => "swoole2", 'num' => 3.1415));
$table->set('hello@qq.com', array('id' => 189, 'name' => 'swoole3', 'num' => 3.1415));
foreach($table as $value)
{
var_dump($value);
}
echo "======================= Total Elements: {$table->count()} ============================\n";
$table->del('123456@qq.com'); // delete a exist element
foreach($table as $value)
{
var_dump($value);
}
echo "======================= Total Elements: {$table->count()} ============================\n";
$ret = $table->del('a invalid key'); // delete a invalid element
var_dump($ret);
foreach($table as $value)
{
var_dump($value);
}
echo "======================= Total Elements: {$table->count()} ============================\n";