当前位置 知且行 php swoole实战8-内存table 下一篇:

swoole实战8-内存table

本篇演示 swoole内存操作模块

swoole_table一个基于共享内存和锁实现的超高性能,并发数据结构。用于解决多进程/多线程数据共享和同步加锁问题。既然称之为table, 就像表格一个由行与列组成,这点与mysql的数据表类似

以下演示内存table的基础操作

新建 table.php

<?php
// 创建内存表
$table = new swoole_table(1024);

// 在内存表中增加列
$table->column('id', $table::TYPE_INT, 4);
$table->column('name', $table::TYPE_STRING, 64);
$table->column('age', $table::TYPE_INT, 3);
$table->create();

// 增加一行记录
$table->set('one', ['id' => 1, 'name' => '章北海', 'age' => 30]);

// 另一种写法
$table['two'] = [
    'id' => 2,
    'name' => '罗辑',
    'age' => 33,
];

// 获取记录
$one = $table->get('one');
$two = $table->get('two');
var_dump($one);
var_dump($two);

// 数据自减
$table->decr('one', 'age', 2);
$one = $table->get('one');
var_dump($one);

// 删除数据
$table->del('one');
$one = $table->get('one');
var_dump($one);

执行结果:

☁  memory  php table.php
array(3) {
  ["id"]=>
  int(1)
  ["name"]=>
  string(9) "章北海"
  ["age"]=>
  int(30)
}
array(3) {
  ["id"]=>
  int(2)
  ["name"]=>
  string(6) "罗辑"
  ["age"]=>
  int(33)
}
array(3) {
  ["id"]=>
  int(1)
  ["name"]=>
  string(9) "章北海"
  ["age"]=>
  int(28)
}
bool(false)
转载必须注明出处:https://www.zhiqiexing.com/53.html

关于我

我希望能成为一个认真、有趣、创造更多价值的人
关注微信
微信扫一扫关注我

微信扫一扫关注我

返回顶部