Q:

Скорость работы базы данных PostgreSQL

Есть огромный список городов, его нужно отобразить на часто посещаемой странице.
Я могу сделать города просто списком в исходном коде сервера 
TOWNS_LIST = [
'Москва',
'Сургут',
'Тюмень',
# и т.д. вообщем больше 1000
] 

либо использовать базу данный (postgresql) для этого.
Города отображаю на странице (это шаблон django):
<select name="town>
    {% for town in towns %}
    <option value="{{ town }}">{{ town }}</option>
    {% endfor %}
</select>

Что лучше использовать? Может быть есть другой способ дать пользователю страницы выбрать определенный город?

A:

Реализация при помощи кэша:
def get_towns_from_cache():
    obj = cache.get('towns') # получаем список из кэша

    if obj is None: # если он отсутствует:
        obj = Towns.objects.all() # получаем список городов
        cache.set(
            'towns', obj, # закидываем этот список в кэш
            60 * 30 # на 60 секунд * 30 = 30 минут
        )
    return obj

Как настроить кэш можно найти тут: Setting up cache
P.S. Можно и вовсе обойтись кэшированием самой вьюхи, если там нет никаких форм или элементов, с которыми пользователь будет взаимодействовать.

