\Imi\UtilMemoryTableManager

跨进程共享内存表

Summary

Methods
Properties
Constants
init()
addName()
setNames()
getNames()
getInstance()
set()
get()
del()
exist()
incr()
decr()
count()
lock()
unlock()
isInited()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
$isInited
$tables
N/A

Properties

$isInited

$isInited : boolean

是否已初始化过

Type

boolean

$tables

$tables : array<mixed,\Swoole\Table>

\Swoole\Table 数组

Type

array<mixed,\Swoole\Table>

Methods

init()

init() : void

初始化

addName()

addName(string  $name, array  $option) : void

增加内存表对象名称

Parameters

string $name
array $option

setNames()

setNames(array<mixed,string>  $names) : void

设置内存表对象名称

Parameters

array<mixed,string> $names

getNames()

getNames() : void

获取所有内存表对象名称

getInstance()

getInstance(string  $name) : \Swoole\Table

获取内存表类实例

Parameters

string $name

表名

Returns

\Swoole\Table

set()

set(string  $name, string  $key, mixed  $value) : boolean

设置行的数据

Parameters

string $name

表名

string $key
mixed $value

Returns

boolean

get()

get(string  $name, string  $key, mixed  $field = null) : array

获取一行数据

Parameters

string $name

表名

string $key
mixed $field

Returns

array

del()

del(string  $name, string  $key) : boolean

删除行的数据

Parameters

string $name

表名

string $key

$key对应的数据不存在,将返回false

Returns

boolean

exist()

exist(string  $name, string  $key) : boolean

行数据是否存在

Parameters

string $name

表名

string $key

$key对应的数据不存在,将返回false

Returns

boolean

incr()

incr(string  $name, string  $key, string  $column, integer|float  $incrby = 1) : \Imi\Util\number

原子自增

Parameters

string $name

表名

string $key
string $column
integer|float $incrby

增量,默认为1。如果列为整形,$incrby必须为int型,如果列为浮点型,$incrby必须为float类型

Returns

\Imi\Util\number

decr()

decr(string  $name, string  $key, string  $column, integer|float  $incrby = 1) : \Imi\Util\number

原子自减

Parameters

string $name

表名

string $key
string $column
integer|float $incrby

减量,默认为1。如果列为整形,$incrby必须为int型,如果列为浮点型,$incrby必须为float类型

Returns

\Imi\Util\number

count()

count(string  $name) : integer

获取表行数 失败返回false

Parameters

string $name

表名

Returns

integer

lock()

lock(string  $name, callable  $taskCallable = null, callable  $afterLockCallable = null) : boolean

加锁操作

Parameters

string $name

表名

callable $taskCallable

加锁后执行的任务,可为空;如果不为空,则执行完后自动解锁

callable $afterLockCallable

当获得锁后执行的回调,只有当 $taskCallable 不为 null 时有效。该回调返回 true 则不执行 $taskCallable

Returns

boolean

unlock()

unlock(string  $name) : boolean

解锁

Parameters

string $name

表名

Returns

boolean

isInited()

isInited() : boolean

是否已初始化过

Returns

boolean