swoole_table->set
设置行的数据,swoole_table使用key-value的方式来访问数据。
swoole_table->set(string $key, array $array)
- $key,数据的key,相同的$key对应同一行数据,如果set同一个key,会覆盖上一次的数据
- $value,必须是一个数组,必须与字段定义的$name完全相同
swoole_table->set() 可以设置全部字段的值,也可以只修改部分字段
swoole_table->set() 未设置前,该行数据的所有字段均为空
set/get/del 是自带行锁,所以不需要调用lock加锁
$table->set('tianfenghan@qq.com', array('id' => 145, 'name' => 'rango', 'num' => 3.1415)); $table->set('350749960@qq.com', array('id' => 358, 'name' => "Rango1234", 'num' => 3.1415)); $table->set('hello@qq.com', array('id' => 189, 'name' => 'rango3', 'num' => 3.1415));
设置超过最大长度字符串
如果传入字符串长度超过了列定义时设定的最大尺寸,底层会自动截断。
示例:
$table->column('str_value', swoole_table::TYPE_STRING, 5); $table->set('hello', array('str_value' => 'world 123456789'));
- 自定定义
str_value
列最大尺寸为5字节,但set
设置了超过5字节的字符串 - 底层会自动截取5字节的数据,最终
str_value
的值为world