2018年swoole實戰(zhàn)8-內(nèi)存table

繼上篇 2018年swoole實戰(zhàn)7-進(jìn)程詳解

本篇演示 swoole內(nèi)存操作模塊

swoole_table一個基于共享內(nèi)存和鎖實現(xiàn)的超高性能,并發(fā)數(shù)據(jù)結(jié)構(gòu)。用于解決多進(jìn)程/多線程數(shù)據(jù)共享和同步加鎖問題。既然稱之為table, 就像表格一個由行與列組成,這點(diǎn)與mysql的數(shù)據(jù)表類似

以下演示內(nèi)存table的基礎(chǔ)操作

新建 table.php

<?php
// 創(chuàng)建內(nèi)存表
$table = new swoole_table(1024);

// 在內(nèi)存表中增加列
$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);

// 數(shù)據(jù)自減
$table->decr('one', 'age', 2);
$one = $table->get('one');
var_dump($one);

// 刪除數(shù)據(jù)
$table->del('one');
$one = $table->get('one');
var_dump($one);

執(zhí)行結(jié)果:

?  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)

如果覺得本文對你有所幫助,點(diǎn)個贊,或者賞杯咖啡錢,你的認(rèn)可對我很重要

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一萬小時是提升競爭力的前提 作家格拉德威爾在《異類》一書中指出:“人們眼中的天才之所以卓越非凡,并非天資超人一等,...
    悟道修行閱讀 861評論 0 3
  • 七、韶山?jīng)_朝圣 8月28日吃過午飯,向韶山進(jìn)發(fā)。 從湘西的鳳凰古城到韶山,是這次行程中時間最長的一段,大約要六個小...
    鐵嫵閱讀 410評論 35 26
  • 最近小曹同學(xué)的班上刮起了打乒乓球風(fēng)。前段日子聽他說,英語張老師給他們講了她上學(xué)時候非常喜歡打乒乓球,而且打...
    小鍋姐閱讀 231評論 0 1
  • 格列佛被主人從手中以低價賣出,因為他認(rèn)為格列佛活不了多久了,格列佛被賣給了皇后,皇后很喜歡這個小人。但在大人國中身...
    微笑_8ce8閱讀 500評論 0 0

友情鏈接更多精彩內(nèi)容