Что самый легкий путь состоит в том, чтобы моделировать таблицу базы данных с индексом в хранилище значения ключа?

Что самый легкий путь состоит в том, чтобы моделировать таблицу базы данных с индексом в хранилище значения ключа? Хранилище значения ключа не имеет НИКАКОГО, расположился запросы и NO, приказанная ключи.

Вещи я хочу моделировать (в порядке приоритета):

  1. Составьте таблицы
  2. Добавьте столбцы
  3. Создайте индексы
  4. Запрос на основе первичного ключа
  5. Запрос на основе произвольных столбцов
7
задан Joshua Partogi 20 September 2010 в 21:47
поделиться

3 ответа

Если вы используете Redis (расширенное хранилище значений ключей, которое поддерживает строки, списки, наборы и т. Д.) Тогда это довольно просто. Я уже разработал клиент Redis C # , который имеет встроенную поддержку для хранения моделей данных POCO. Эти точно такие же POCO могут использоваться OrmLite для хранения их в СУБД.

Кстати, Redis работает быстро, у меня есть тест , который сохраняет и извлекает всю базу данных Northwind (3202 записи) менее чем за 1,2 секунды (выполняется внутри UnitTest на 3-летнем iMac) .

Я храню сущности двумя способами

  • Отдельные сущности, где я комбинирую имя типа класса и первичный ключ для создания уникального ключа, например urn: user: 1
    • Затем я поддерживаю отдельный набор первичных ключей (в Redis Set), чтобы отслеживать все мои объекты, используя такой ключ, как: ids: user
  • В Список на стороне сервера Redis - который действует очень похоже на таблицу с поддержкой разбиения по страницам, используя такой ключ, как: lists: user
4
ответ дан 7 December 2019 в 07:44
поделиться

Я не уверен, что можно полностью выполнить отладку через интерфейс командной строки. Любого средства отладки на основе Java должно быть достаточно.

В вопросе SO упоминается jswat , который также имеет консольный режим.
Он используется в этой записи блога и может быть легко установлен, как показано здесь .

-121--1582957-

Я согласен с Джоном, что совет имеет мало смысла. Я думаю, что автор обнаружил, что вы не можете изменить значение текущего предмета при итерации. Однако при итерации набора типов привязок можно изменить объект, на который указывает текущий предмет. Возможно, он пришел к выводу, что итерация была каким-то образом нарушена для коллекций типов значений.

-121--2901468-

Хранилище значений ключей должно поддерживать заказ ключей и диапазон доступа к ключам.

Затем необходимо создать два словаря:

id -> payload

и

col1, id -> NULL

, где полезная нагрузка должна содержать все данные, которые будут содержаться в таблице базы данных, а ключи второго словаря должны содержать значения (col1, id) из каждой статьи первого словаря.

1
ответ дан 7 December 2019 в 07:44
поделиться

Используйте хеш-таблицу или словарь. Если вам нужны уникальные значения ключей, вы можете использовать GUID или хэш-код.

2
ответ дан 7 December 2019 в 07:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: