swoole源码分析之swoole_table的介绍

swoole_table一个基于共享内存和锁实现的超高性能,并发数据结构。用于解决多进程/多线程数据共享和同步加锁问题。

swoole_table的优势

  • 性能强悍,单线程每秒可读写200万
  • 应用代码无需加锁,swoole_table内置行锁自旋锁,所有操作均是多线程/多进程安全。用户层完全不需要考虑数据同步问题。
  • 支持多进程,swoole_table可以用于多进程之间共享数据
  • 使用行锁,而不是全局锁,仅当2个进程在同一CPU时间,并发读取同一条数据才会进行发生抢锁
  • swoole_table不受PHPmemory_limit控制

遍历Table

swoole_table类实现了迭代器和Countable接口,可以使用foreach进行遍历,使用count计算当前行数。

foreach($table as $row)
{
    var_dump($row);
}
echo count($table);

 

swoole_table的更多介绍请看官方文档:https://wiki.swoole.com/wiki/page/p-table.html

你可能感兴趣的:(swoole)