Кэш данных по сравнению с сессией возражает в ASP.NET

Посетите страницу справки для ?geom_bar(), в частности, аргумент dodge. Например:

library(ggplot2)
g <- ggplot(mpg, aes(class, fill = factor(drv)))
g + geom_bar()

g + geom_bar(position = "dodge")

Создано в 2019-01-15 по представит пакет (v0.2.1) sup>

11
задан Miyagi Coder 2 November 2010 в 14:16
поделиться

4 ответа

Если объекты совместно используемы между сеансами пользователя, то используйте кэш. Если объекты уникальны для каждой сессии - возможно, потому что ими управляют полномочия - затем хранят его на сессии. Сама незавершенная сессия хранится в кэше, таким образом, решающим фактором действительно должен быть объем данных.

24
ответ дан 3 December 2019 в 01:53
поделиться

Системный кэш ASP.NET глобален к приложению, где, поскольку сессия уникальна для текущего пользователя. Если бы Вы приняли решение использовать глобальный кэш, чтобы хранить объекты, то необходимо было бы создать объектную идентификационную стратегию, таким образом, Вы могли получить правильные объекты для Вашего на пользовательское основание.

Если бы Вы надеетесь улучшать производительность, Вы были бы более обеспеченной заменой состояния сеанса ASP.NET с кэшем распределенной памяти, таким как скорость Microsoft. Microsoft отправила статьи о том, как заменить использование сессии для предназначения для Скорости. Вы могли также использовать Кэш-память или другие аналогичные продукты связанным способом.

2
ответ дан 3 December 2019 в 01:53
поделиться

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

Сессия, с другой стороны, больше подходит к тому, чтобы хранить объекты, хотя лично я стараюсь избегать хранилища сессии в пользу DB. Я обычно делаю это путем абстракции далеко хранилища позади непрозрачного интерфейса ISessionStoreService:

interface ISessionStore
{
    T GetEntry<T>(string key);
    void SaveEntry<T>(string key, T entry);
}

и затем "вводящая зависимость" соответствующая реализация, быть этим InmemorySessionStore, DbSessionStore или что бы то ни было.

7
ответ дан 3 December 2019 в 01:53
поделиться

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

Сессия => веб-страница с пошаговым интерфейсом (тест онлайн, например).
Кэш => информация отобразилась в некотором погодном виджете (как тот, который Google имеет на его странице igoogle.com).
Надеюсь, это поможет.

2
ответ дан 3 December 2019 в 01:53
поделиться
Другие вопросы по тегам:

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