innodb_memcache之配置

來源:互聯網
上載者:User

innodb_memcache之配置

innodb_memcache在安裝之前,需要匯入配置sql,配置sql位於安裝目錄的share目錄下,檔案名稱為innodb_memcached_config.sql,匯入至資料庫即可。

匯入完之後,我們發現多了一個資料庫innodb_memcache,該庫下有三個表:

cache_policies:緩衝策略表

config_options:配置選項表

containers:memcache中繼資料容器表

1. cache_policies定義了緩衝策略   三種重新整理策略:   innodb_only:只用InnoDB儲存資料   cache-only:只用傳統的Memcached引擎作儲存。   caching:如果在Memcached裡找不到,就查詢InnoDB。
2. config_options定義了配置資訊   separator 多欄位組合的間隔符號,預設為|   table_map_delimiter 表和鍵之間的間隔符,預設為.   若修改,則需要重啟mysql或者是重新安裝memcache外掛程式
3.  containers 定義了所有memcache中表和key的中繼資料資訊   name:定義的名字   db_schema:表所在的資料庫   db_table:需要映射的表名   key_columns:key所對應的欄位名   value_columns:value所對應的欄位名,可以用|來進行拼接   flags:memcache的標記   cas_column:字串長度欄位   expire_time_column:到期時間   unique_idx_name_on_key:資料庫中的唯一欄位索引名字
4. 其他伺服器控制參數   mysql> show variables like '%memcache%';   +----------------------------------+------------------+   | Variable_name                    | Value            |   +----------------------------------+------------------+   | daemon_memcached_enable_binlog   | OFF              |    | daemon_memcached_engine_lib_name | innodb_engine.so |   | daemon_memcached_engine_lib_path |                  |   | daemon_memcached_option          | -p               |   | daemon_memcached_r_batch_size    | 1                |   | daemon_memcached_w_batch_size    | 1                |   +----------------------------------+------------------+   6 rows in set (0.00 sec)   對應的參數含義如下:   daemon_memcached_enable_binlog:表示memcache中set是否寫入binlog   daemon_memcached_option :innodb_memcache預設選項,可以通過"-p 11222"指定連接埠   daemon_memcached_r_batch_size、daemon_memcached_w_batch_size:關係到memcache的寫入和讀取效能,   預設為1,即表示每次都從innodb檔案讀取和寫入!可酌情更改
5. 一個例子   建表:   use test;   CREATE TABLE `users` (    `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,    `username` VARCHAR(15) NOT NULL,    `password` VARCHAR(32) NOT NULL,    `email` VARCHAR(50) NOT NULL,    `flags` INT(10) UNSIGNED DEFAULT '0',    `cas_column` BIGINT(20) UNSIGNED DEFAULT '0',    `expire_time_column` INT(10) UNSIGNED DEFAULT '0',    PRIMARY KEY (`id`),    UNIQUE KEY `username` (`username`)    ) ENGINE=INNODB;        寫入資料:    INSERT INTO `users` (`username`, `password`, `email`)    VALUES    ('test1', 'test1', 'test2@bkjia.com'),    ('test2', 'test2', 'test2@bkjia.com');        寫入memcache中繼資料表:             INSERT INTO innodb_memcache.containers (        NAME, db_schema, db_table, key_columns, value_columns,        flags, cas_column, expire_time_column, unique_idx_name_on_key        ) VALUES (        'default', 'test', 'users', 'username', 'password|email',        'flags', 'cas_column', 'expire_time_column', 'username'        );     get資料:        [root@www share]# echo 'get @@default.test1'|nc localhost 11222        VALUE @@default.test1 0 19        test1|test2@bkjia.com        END        [root@www share]# echo 'get @@default.test2'|nc localhost 11222        VALUE @@default.test2 0 19        test2|test2@bkjia.com        END

innodb_memcache之使用 

innodb_memcache之安裝 

innodb_memcache之配置

MySQL Server 層和 InnoDB 引擎層 體繫結構圖

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.