Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 20, 2012 12:14:19

inlanger
От:
Зарегистрирован: 2009-01-17
Сообщения: 46
Репутация: +  0  -
Профиль   Отправить e-mail  

Johnny Cache и random

Поставил я на один проект чудо-штуку под названием johnny-cache, которая кеширует в memcached все запросы, которые видит. В итоге вместо 500 запросов при генерации сложных страниц сайт делает всего 3-5 запросов. Но вот беда - заметил, что генерация случайных частей сайта(например случайный товар из магазина) стала совсем не случайной. Единажды закешировав этот запрос довольный johnny-cache игнорирует то, что результат должен быть случайным и выдает каждый раз один и тот же результат. Так вот, вопрос в чем - как мне его заставить не кешировать отдельные запросы?



Офлайн

#2 Апрель 20, 2012 12:37:24

Chern
От: Киев
Зарегистрирован: 2010-09-15
Сообщения: 71
Репутация: +  3  -
Профиль   Отправить e-mail  

Johnny Cache и random

Офлайн

#3 Апрель 20, 2012 12:45:45

inlanger
От:
Зарегистрирован: 2009-01-17
Сообщения: 46
Репутация: +  0  -
Профиль   Отправить e-mail  

Johnny Cache и random

Возножно, но по докам толко непонятно в какое место ЭТО надо дописать.



Офлайн

#4 Апрель 20, 2012 13:44:48

Imposeren
От:
Зарегистрирован: 2009-04-06
Сообщения: 46
Репутация: +  1  -
Профиль   Отправить e-mail  

Johnny Cache и random

А в каком виде у вас рандом? Он же кеширует только запросы, значит у вас там стоит какой-нибудь рандомный ордеринг?

Елси да, то это можно считать багом johny-cache и вручную поправить его исходники, ну плюс баг-репорт отправить.

Где там у вас еще может быть рандом который он кеширует я не представляю



Офлайн

#5 Апрель 20, 2012 13:48:24

Imposeren
От:
Зарегистрирован: 2009-04-06
Сообщения: 46
Репутация: +  1  -
Профиль   Отправить e-mail  

Johnny Cache и random

.env/lib/python2.7/site-packages/johnny/cache.py: def sql_key(self, generation, sql, params, order, result_type, using='default'):

Вот куда-то сюда вставить проверку на то что сортировка случайная.



Офлайн

#6 Апрель 20, 2012 18:28:15

Imposeren
От:
Зарегистрирован: 2009-04-06
Сообщения: 46
Репутация: +  1  -
Профиль   Отправить e-mail  

Johnny Cache и random

Автор говорит, что случайная сортировка таки кешируется:
Authors tweet



Отредактировано Imposeren (Апрель 20, 2012 18:33:42)

Офлайн

#7 Апрель 24, 2012 14:25:05

Dr.Livsi
От:
Зарегистрирован: 2010-02-15
Сообщения: 192
Репутация: +  3  -
Профиль   Отправить e-mail  

Johnny Cache и random

ну а средства самого django для кэширования не пробовали? закешировать наиболее часто используемые но не часто обновляемые представления и запросы.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version