• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 使DML语句适应于内存缓存操作

    基准测试表明,该daemon_memcached插件在加快DML操作(插入,更新和删除)的速度方面要比其加快查询的速度更快。因此,请考虑将最初的开发工作重点放在受I / O约束的写密集型应用程序上,并寻找机会将MySQL与该daemon_memcached插件一起用于新的写密集型应用程序。

    单行DML语句是最容易转换为memcached操作的语句类型。INSERTaddUPDATEsetincr还是decrDELETE成为delete。由于这些操作在表中是唯一的,因此保证仅在通过memcached接口发出这些操作时才影响一行key

    在以下SQL示例中,基于表中的配置,请参考t1用于内存缓存操作的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 TABLEDELETE语句从表中删除了所有行,它们与该flush_all操作相对应,如上例所示,该操作t1被配置为memcached操作的表。

    TRUNCATE TABLE t1;
    DELETE FROM t1;