После того, как я настроил и попробовал и работал плагин memcache для MySQL, я безуспешно пытался добавить пространство имен из таблицы с составным первичным ключом. Вот пример:
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
Ответ - КОНЕЦ, как будто элемент не существует в базе данных. Такое поведение не происходит с первичными ключами одного столбца.
Кто-нибудь смог успешно настроить memcache для этого варианта использования? Я не могу найти в документации ничего, касающегося составных первичных ключей, а также я не думаю, что имя "key_columns" в таблице контейнеров является ошибкой транскрипции.
Заранее большое спасибо!