Как я могу указать несколько ключевых столбцов в плагине MySQL memcache? - PullRequest
0 голосов
/ 29 августа 2018

После того, как я настроил и попробовал и работал плагин 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" в таблице контейнеров является ошибкой транскрипции.

Заранее большое спасибо!

...