Рассмотрите возможность создания специальных клавиш, которые используют символы, которые иначе не отображаются в ваших обычных ключах, например, путем добавления суффикса к ключам, так что они не конфликтуют с обычными ключами.
Например, предположим, что ваши ключи соответствуют регулярному выражению [A-Za-z0-9]+
; то вы можете взять свой ключ, например foobar42
, и создать специальный ключ метаданных, например foobar42#metadata
, который, как вы знаете, не может быть действительным ключом.
Затем, когда вы храните ключ foobar42
с некоторой произвольной величиной, сначала необходимо создать ключ foobar42#metadata
и хранить специальный блок там, например, JSON или буфер протокола, который говорит, что вы можете найти куски значения в foobar42#chunk-0
, foobar42#chunk-1
и т. Д.
Аналогично, когда вы просматриваете или удаляете ключ, сначала посмотрите, есть ли ключ метаданных, и если да, используйте дополнительную логику для объединения (если поиск) или удаления дополнительных записей, поэтому вы не оставляя многожильные данные, занимающие дополнительное пространство.
Можете уточнить, что вы пытаетесь сделать? –
@MishaBrukman Отредактированный вопрос с тем, что я пытался реализовать. Все еще ничего не нашли. – genirahul