Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
906
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
System.Web.Caching против блока кэширования корпоративной библиотеки
Для компонента .NET, который будет использоваться как в веб-приложениях, так и в богатых клиентских приложениях, существует два очевидных варианта кэширования: System.Web.Caching или Ent. Библиотека. Блок Кэширования.
- Что вы используете?
- Почему?
System.Web.Caching
Является ли это безопасным для использования вне веб-приложений? Я видел смешанную информацию, но думаю, что ответ будет maybe-kind-of-not-really.
- a KB статья предупреждение против использования 1.0 и 1.1 не веб-приложений
- На странице 2.0 есть комментарий , который указывает, что это OK: http://msdn.microsoft.com/en-us/library/system.web.caching.cache(VS.80).aspx
- Скотта Хансельмана пугает эта идея
- Страница 3.5 содержит предупреждение против такого использования
- Роб Говард поощрял использование вне веб-приложений
Я не собираюсь использовать один из его основных моментов, SqlCacheDependency, но добавление CacheItemUpdateCallback в .NET 3.5 кажется действительно хорошей вещью.
Блок Приложений Кэширования Корпоративной Библиотеки
- другие блоки уже используются, поэтому зависимость уже существует
- сохраняемость кэша не требуется; регенерация кэша при перезапуске составляет OK
Некоторые элементы кэша должны быть всегда доступны, но периодически обновляться. Для этих элементов получение обратного вызова после удаления элемента не очень удобно. Похоже, что клиенту придется просто спать и опрашивать, пока элемент кэша не будет повторно заполнен.
Memcached для клиента Win32 + .NET
Каковы плюсы и минусы, когда вам не нужен распределенный кэш?
Это те элементы, которые я рассматриваю для темы кэширования:
MemCached Win32 Скорость .net кэш Блок Приложений Кэширования Корпоративной Библиотеки
MemCached Win32: до недавнего времени я использовал MemCached Win32. Это сродни веб-ферме (многие серверы обслуживают один и тот же контент для обеспечения высокой доступности), но это ферма кэша. Это означает, что вы можете установить его локально на вашем веб-сервере изначально, если у вас нет ресурсов для расширения. Затем, когда вы идете вниз по дороге, вы можете масштабировать горизонтально (больше серверов) или вертикально (больше оборудования). Это продукт, который был перенесен с оригинала MemCached на работу с Windows. Этот продукт широко используется на сайтах с очень высоким трафиком. http://lineofthought.com/tools/memcached
Скорость: это ответ Microsofts на такие продукты, как MemCached. MemCached уже довольно давно не работает, скорость находится в режиме CTP. Я должен сказать, что из того, что я прочитал до сих пор, этот продукт, безусловно, вскружит мне голову, как только он выйдет. Но я не могу заставить себя запустить большие производственные проекты на продукте CTP с нулевым послужным списком. Я начал играть с ним, хотя, как только он набирает обороты MemCached даже не сравнится с теми, кто заперт в мире windows! http://blogs.msdn.com/velocity/
.NET кэш: нет никаких причин сбрасывать со счетов стандартный .NET кэш. Он встроен и готов к использованию бесплатно и без какой-либо (основной) настройки требуется. Он обеспечивает гибкость, предлагая механизмы для хранения элементов в локальной памяти, сервере состояний SINGLE или централизованной базе данных. Где скорость шагает в том случае, когда вам нужно больше, чем один сервер состояния (кэш в памяти) и не хотите использовать медленную базу данных для хранения кэша.
Блок корпоративных приложений: я держусь подальше от всех блоков корпоративных приложений. Это тяжелые рамки, которые дают больше, чем я обычно требую! До тех пор, пока вы не забудете обернуть все, что касается кода, который не является вашим собственным, и следовать простым правилам кодирования, придерживайтесь любого из других методов поверх этого! (только мое мнение, конечно - MySpace использует столько, сколько они могут из корпоративных блоков приложений!)
Вам не нужно выбирать заранее! Обычно я создаю оболочку кэша, с которой взаимодействую в своем коде для таких методов, как Get, Set, Exists, Remove, ListKeys и т. д. Затем это указывает на базовый уровень абстракции кэша, который может указывать на MemCached, скорость или .NET кэш. Я использую StructureMap (или выбираю другой контейнер IoC), чтобы ввести форму кэша, которую я хочу использовать для данной среды. В моем локальном окне разработки я мог бы использовать кэш .NET в сеансе. В производстве я обычно использую MemCached Win 32. Но независимо от того, как он настроен, вы можете легко поменять местами вещи, чтобы попробовать каждую систему, чтобы увидеть, что лучше всего работает для вас. Вам просто нужно убедиться, что ваше приложение знает как можно меньше о том, как вещи кэшируются! После того, как этот уровень абстракции установлен, вы можете выполнить такие действия, как запуск алгоритма сжатия (gzip) для всех данных, поступающих в кэш и выходящих из него, что позволит вам хранить в 10 раз больше данных в кэше. - прозрачно .
Я покрываю .NET кэш, MemCached Win32, StructureMap и соответствующие абстракции в моей книге, Если вам интересно!
ASP.NET 3.5 социальная сеть ( http://www.amazon.com/ASP-NET-3-5-Social-Networking-Enterprise-ready/dp/1847194788/ref=sr_1_1?т. е.=UTF8&s=books&qid=1225408005&sr=8-1 ) Эндрю Симер www.andrewsiemer.com blog.andrewsiemer.com www.socialnetworkingin.net
Обновление изменило ссылку, которая перечисляет сайты, использующие memcached. Спасибо тебе, Дэвид, что заметил, что она сломана!
Имейте в виду, что документация EntLib специально направляет вас к ASP.NET кэшу для ASP.NET приложений. Это, вероятно, самая сильная рекомендация к использованию его здесь. Кроме того, кэш EntLib не имеет зависимостей, что для меня является большой причиной не использовать его.
Я не думаю, что существует такое техническое ограничение на доставку System.Web как часть вашего приложения, хотя немного странно, что они поместили это уведомление на странице .NET 3.5. Гензельман действительно говорит,что сначала он был напуган этой идеей, но потом убедился. Кроме того, если Вы читаете комментарии, он говорит, что блок имеет слишком много движущихся частей и Кэш ASP.NET гораздо более легкий.
Я думаю, что это именно та проблема, которую скорость собирается решить, но пока это только предварительный просмотр :-(
Я бы сказал использовать Web.Caching и посмотреть, как вы справитесь. Если вы поместите какой-то слой абстракции поверх него, у вас всегда есть возможность поменять его на блок EntLib позже, если вы обнаружите проблемы.
Взгляните на memcached . Это действительно классная, быстрая и легкая распределенная система кэширования. Существует APIs для нескольких наиболее популярных языков, в том числе C#. он может плохо работать на стороне клиента (если, конечно, клиент не получает кэшированные данные с какого-либо сервера), но если вы абстрагируете свое использование memcached на определенный интерфейс, вы можете затем реализовать интерфейс с другой системой кэширования.