【发布时间】:2019-02-04 03:02:31
【问题描述】:
在我配置并尝试使用 MySQL 的 memcache 插件后,我一直未能成功地尝试从具有复合主键的表中添加命名空间。有例子:
CREATE TABLE test(
`key` VARCHAR(3),
`key2` VARCHAR(3),
`value1` varchar(1024),
`value2` varchar(1024),
PRIMARY KEY (`key`,`key2`)) ENGINE = INNODB;
以及 innodb_memcache.containers 中的行:
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('test', 'kv_data', 'test', 'key|key2', 'value1|value2', '0', '0', '0', 'PRIMARY');
之后,如果我在 memcache 界面中进行设置:
set @@test.hello|world 0 0 11
hello|world
memcache 的响应是:
NOT_FOUND
另外,如果我在表中进行手动插入,然后执行获取:
get @@test.val1|val2
答案是END,好像该项目在数据库中不存在。单列主键不会发生此行为。
有没有人能够为这个用例成功配置内存缓存?我在文档中找不到与复合主键相关的任何内容,而且我不认为容器表中的名称“key_columns”是转录错误。
非常感谢您!
【问题讨论】:
-
找到答案了吗?
标签: mysql configuration memcached composite-key