Столкнулся с такой проблеммой, имеются устоявшиеся модели разнообразных категорий (новости, видео и тп), у каждой модели есть пустое поле hits (PositiveIntegerField), рассчитанное под hit-counter. Статистика просмотра страниц собирается в кеш, в роли которого выступает redis. Естественно никакой связи с моделями нет.
При сохранении ключём выступает ‘hits_%s’ % request.path ну и значением естественно количество просмотров.
======
Сегодня целый день ломаю голову над тем, как бы всё это поправить так, что бы была возможность выводить данные из модели и делать сортировку по количеству просмотров.
На текущий момент я придумал три возможных варианта решения:
1. Отказаться от redis и честно заполнять поля hits, тем самым упростив сортировку при выводе.
2. Использовать hash-таблицы и сохранять несколько значений текущих страниц (в разработке).
3. Использовать Django Managers и попробовтаь обернуть модель используя плавующее поле.
В процессе обмозговывания всех трёх вариантов, время от времени прихожу к тому, что все они бреовые и я делаю что-то не так. Иногда посещают мысли, что это вообще должен быть javascript.
Подскажите, может быть кто сталкивался с подобной проблемой. Хочется понять, какое должно быть оптимальное решение по вопросу hit-counter с учётом несложной проверки по _session_key и главное, с учётом будущего кэширования.
p.s.
Искренне надеюсь, что написал понятно
