Использование словаря Python в качестве временной базы данных ключ-значение в памяти?

Мне нужно что-то вроде временного хранилища ключей и значений в памяти. Я знаю, что есть такие решения, как Redis. Но мне интересно, может ли сработать словарь Python? И потенциально быть еще быстрее? Итак, представьте, что сервер Tornado (или аналогичный) работает и хранит словарь Python в памяти и просто возвращает соответствующее значение на основе HTTP-запроса.

Зачем мне это нужно? В рамках сервиса хранятся ключевые значения, но они обладают следующим свойством: чем они новее, тем больше вероятность того, что к ним будут обращаться. Поэтому я хочу сохранить, скажем, последние 100 значений ключа в памяти (а также записать на диск) для более быстрого поиска.

Если сервер умирает, словарь можно снова восстановить с диска.

Кто-нибудь делал что-то подобное? Я что-то здесь совсем пропустил?

PS: Я думаю, что это невозможно с сервером WSGI, верно? Потому что, насколько я знаю, вы не можете хранить что-то в памяти между отдельными запросами.

5
задан user1191575 21 March 2012 в 07:39
поделиться