专栏首页coding2018年swoole实战8-内存table

2018年swoole实战8-内存table

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

本篇演示 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)
 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • USpider~一只超级污的司机蜘蛛

    之前就看到了狂放小朋友的PHP版本的污言爬虫,然后我就征求了一下小朋友的意见,就改成了Python版本的爬虫,也算是当做练手了

    沈唁
  • apache+php参数调优

    httpd.conf设置 <IfModule prefork.c> ServerLimit 15000 StartServers 300 MinSpareSer...

    sherlock99
  • 区块链开发语言之go语言学习线路指导

    问题导读 1.为什么学习go语言? 2.你认为该如何入门go语言? 3.你认为go语言需要哪些学习过程?

    用户1410343
  • redis不难,benny带你入门

    关于redis的学习,相信在各大博客、公众号上和教学视频教程里有很多,benny学习了一段时间总算是入门了,在会不定期的更新redis学习日记。

    benny
  • YII2框架访问gii、debug页面404的错误解决方法

    之前在介绍Yii框架的时候就说过 Yii 支持 gii 功能, gii 去自动生成 Web 站点常用功能的代码,也就是我们经常说的 CURD 操作,增删改查。使...

    沈唁
  • 适用于python3的CTP交易接口

    目前vn.py官方适用的python版本是2.7,有关python3的版本正在开发中,但鉴于最近大家对python3需求的呼声较高,论坛有两个帖子提供了适用于p...

    用Python的交易员
  • spreadTrading模块事件触发机制

    本文主要介绍了价差交易模块的事件触发机制。感谢‘次第花开’和‘用户名呀’在维恩的派论坛里的分享!

    用Python的交易员
  • spark零基础学习线路指导【包括spark2】

    问题导读 1.你认为spark该如何入门? 2.你认为spark入门编程需要哪些步骤? 3.本文介绍了spark哪些编程知识?

    用户1410343
  • 如何在Centos系统上安装Wordpress

    WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。Alexa排行前100万的网站中...

    信姜缘
  • What‘s docker?How to study?

    看图说话:“一只可爱的大鲸鱼上面摆放着许多小箱子,而这些小箱子呢--就是应用程序,鲸鱼就是操作系统”。 大家应该都知道集装箱吧,不过你是什么货物,通过什么运输方...

    benny

扫码关注云+社区

领取腾讯云代金券