2018年swoole实战8-内存table

继上篇 2018年swoole实战7-进程详解

本篇演示 swoole内存操作模块

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

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

新建 table.php

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)

如果觉得本文对你有所帮助,点个赞,或者赏杯咖啡钱,你的认可对我很重要

你可能感兴趣的:(2018年swoole实战8-内存table)