Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.137.171.121] |
|
Сообщ.
#1
,
|
|
|
В этой теме будут(с определенным интервалом во времени) описаны разные способы кэширования.
Почти всегда приведенный код будет прост и очевиден, поэтому по возможности не будет комментироваться(хотя вы можете задавать вопросы). Итак, первым рассмотрим TimedCache По мере времени список будет пополнятся другими видами кэшев, с описанием и прочим. Enjoy |
Сообщ.
#2
,
|
|
|
Цитата ANDLL @ число потребляемой ей памяти может вырасти до катострафических размеров. ну.. никто не мешает усложнить логику, введя ограничение на количество потребляемой памяти. Тут вопрос не в том, сколько вариантов возможных, а в том, насколько часто считается значение функции по одинаковым аргументам. Ещё чисто-дотнетовская фича: в кеше (точнее, в Entry) хранить WeakReference. Тоесть весь кэш будет подлежать сбору мусора. Тоесть, если нужна память - clr сама будет чистить кэш. (да, тоже минусы есть. опять же можно усложнить...) Метод применим только если размер одной строки в словаре dictionary значительно меньше чем размер объекта типа Value |
Сообщ.
#3
,
|
|
|
Я давно хотел спросить: а каков объем кэша?
Сколько данных в него можно запихнуть, чтобы было не в ущерб производительности (по аналогии с сессией)? |
Сообщ.
#4
,
|
|
|
Цитата GRIENDERS @ Сколько данных в него можно запихнуть, чтобы было не в ущерб производительности (по аналогии с сессией)? этот вопрос решается аписанием тестов для твоего конкретного случая - если нет серьёзного ограничения на пямять - то надо сравнивать скорость выборки из словаря со скоростью расчёта данных. Бывает, хранить данные в кэше предпочтительно даже тогда, когда получить их быстрее - в случае когда ... Цитата ANDLL @ функция обращается к внешнему объекту, имеющему существенное ограничение на возможное число вызовов в промежуток времени. Если есть ограничение на память - то нужно урезать кэш даже если выбирать из него значительно эффективнее чем получать. |