Atomic计数器组件,依赖\x\swoole\Atomic
组件,基于Swoole Atomic 原子级计数器封装实现,可以方便整数的无锁原子增减。
注意:计数器相关的计数值,必须为整型数字类型。
判断某个计数器是否已经创建,存在返回true
,不存在返回false
。
示例:
\x\swoole\Atomic::has('test');
创建一个计数器,返回实例本身,用于链式操作。
示例:
\x\swoole\Atomic::create('test');
// 也可以在创建时声明初始化值
\x\swoole\Atomic::create('test', 1);
不声明初始化值,默认是0
。
计数器自增,成功返回true,失败返回false
。自增值,默认是1
。
示例:
\x\swoole\Atomic::setInc('test', 3);
计数器自减操作,成功返回true,失败返回false
。自减值,默认是1
。
示例:
\x\swoole\Atomic::setDec('test', 3);
获取计数器当前值,成功返回计数器当前值
,失败返回false
。
示例:
\x\swoole\Atomic::get('test');
直接重置计数器值,成功返回true,失败返回false
。
示例:
\x\swoole\Atomic::set('test', 10);
也可以不声明重置值,默认是0
。
比较计数器当前值,通过则设置值,成功返回true,失败返回false
。
示例:
// 当test计数器为10时,设置回2
\x\swoole\Atomic::cmpset('test', 10, 2);
也可以不声明设置值,默认是0
。
删除计数器,成功返回true
,失败返回false
。
示例:
\x\swoole\Atomic::delete('test');
获取当前服务下创建了多少个计数器,成功返回条数,失败返回false
。
示例:
\x\swoole\Atomic::count();