Documentation Home

14.21.5.5 使 DML 语句适应 memcached 操作

基准测试表明该daemon_memcached 插件加速DML操作(插入、更新和删除)的速度超过了它加速查询的速度。因此,考虑将初始开发工作集中在 I/O 绑定的写入密集型应用程序上,并寻找机会将 MySQL 与 daemon_memcached插件一起用于新的写入密集型应用程序。

单行 DML 语句是最容易转换为memcached操作的语句类型。 INSERT成为addUPDATE成为setincrdecrDELETE成为delete当通过memcached接口发出时,这些操作保证只影响一行,因为key在表中是唯一的。

在下面的SQL示例中,根据表中的配置,t1引用用于memcached操作的 innodb_memcache.containers表。 key指列在下的列 key_columns,并val 指列在 下的列 value_columns

INSERT INTO t1 (key,val) VALUES (some_key,some_value);
SELECT val FROM t1 WHERE key = some_key;
UPDATE t1 SET val = new_value WHERE key = some_key;
UPDATE t1 SET val = val + x WHERE key = some_key;
DELETE FROM t1 WHERE key = some_key;

以下TRUNCATE TABLEand DELETE语句从表中删除所有行,对应于 flush_all操作,其中 t1配置为 memcached操作的表,如上例所示。

TRUNCATE TABLE t1;
DELETE FROM t1;