mysql memcache 配置_innodb_memcache之配置

innodb_memcache在安装之前,需要导入配置sql,配置sql位于安装目录的share目录下,文件名为innodb_memcached_config.sql,导入至

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@linuxidc.com'),

('test2', 'test2', 'test2@linuxidc.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@linuxidc.com

END

[root@www share]# echo 'get @@default.test2'|nc localhost 11222

VALUE @@default.test2 0 19

test2|test2@linuxidc.com

END

innodb_memcache之使用

innodb_memcache之安装

innodb_memcache之配置

MySQL Server 层和 InnoDB 引擎层 体系结构图

本文永久更新链接地址:

logo.gif

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值