当前位置 知且行 php 正文 下一篇:

swoole实战8-内存table

    本篇演示 swoole内存操作模块

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

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

    新建 table.php

    1. <?php
    2. // 创建内存表
    3. $table = new swoole_table(1024);
    4. // 在内存表中增加列
    5. $table->column('id', $table::TYPE_INT, 4);
    6. $table->column('name', $table::TYPE_STRING, 64);
    7. $table->column('age', $table::TYPE_INT, 3);
    8. $table->create();
    9. // 增加一行记录
    10. $table->set('one', ['id' => 1, 'name' => '章北海', 'age' => 30]);
    11. // 另一种写法
    12. $table['two'] = [
    13. 'id' => 2,
    14. 'name' => '罗辑',
    15. 'age' => 33,
    16. ];
    17. // 获取记录
    18. $one = $table->get('one');
    19. $two = $table->get('two');
    20. var_dump($one);
    21. var_dump($two);
    22. // 数据自减
    23. $table->decr('one', 'age', 2);
    24. $one = $table->get('one');
    25. var_dump($one);
    26. // 删除数据
    27. $table->del('one');
    28. $one = $table->get('one');
    29. var_dump($one);

    执行结果:

    1. memory php table.php
    2. array(3) {
    3. ["id"]=>
    4. int(1)
    5. ["name"]=>
    6. string(9) "章北海"
    7. ["age"]=>
    8. int(30)
    9. }
    10. array(3) {
    11. ["id"]=>
    12. int(2)
    13. ["name"]=>
    14. string(6) "罗辑"
    15. ["age"]=>
    16. int(33)
    17. }
    18. array(3) {
    19. ["id"]=>
    20. int(1)
    21. ["name"]=>
    22. string(9) "章北海"
    23. ["age"]=>
    24. int(28)
    25. }
    26. bool(false)
    转载必须注明出处:https://www.zhiqiexing.com/53.html

    关于我

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

    微信扫一扫关注我

    返回顶部