Memcached с Windows и.NET

83
задан John Saunders 31 March 2010 в 18:52
поделиться

7 ответов

Почему необходимо выполнить memcached на окнах? It’s дорогое дело в продуктивной среде.

, Если Ваш код должен работать в среде Windows, получают окна memcached клиент и говорят *, отклоняют базирующуюся memcached машину.

В продуктивной среде, работающей memcached на Server, 2003 или 2008 означали бы, что Вы получаете лицензии на все те поля. Linux предложит Вам все преимущества OSS. TCO повысится линейно с memcached в Windows

Edit:

It’s, приблизительно 1,5 года, с тех пор как я записал этот ответ и партию вещей, изменились с тех пор. You’ve для замечания, особенно когда кто-то как комментарии Dustin.
Так here’s, как можно получить memcached на выполнении окон. Загрузка memcached для окон от Couchbase (раньше Northscale) .
Обычно, если Вы планируете выполнить memcached на той же производственной машине, you’d хотят запуститься, в ограниченной памяти, т.е. определить максимальную память memcached позволяется использовать.

c:\Program Files\memcached>memcached.exe-m 128.

Здесь memcached работает с максимумом использования на 128 МБ. Вы don’t хотите, чтобы memcached поднял всю память на Вашем веб-сервере.

момент Вы решили к , масштабируют горизонтально , memcached you’ll должен рассмотреть то, что я сказал ранее. Дополнительно сожмите свои значения в комбинациях значения ключа. Веб-серверы обычно используют очень мало ЦП (2-3%), использование и сжатие вводят много значения для сетей повсюду по сравнению с использованием ЦП. Если Вы слишком обеспокоены нормальным сжатием, попробуйте LZO

49
ответ дан Ross Attrill 24 November 2019 в 08:55
поделиться

я не знаю, каков проект, Вы продолжаете работать, но Вы хотели бы смотреть на проект Microsoft Velocity От страницы:

"Скорость" является распределенной платформой кэша приложения в оперативной памяти для разработки масштабируемых, высокоэффективных приложений. "Скорость" может использоваться для кэширования, любая общеязыковая среда выполнения (CLR) возражают, и обеспечивает доступ через простые API. Ключевыми аспектами "Скорости" является распределенная производительность кэша, scalabily, и доступность.

я видел несколько демонстраций, и похоже, что это имеет действительно хорошую интеграцию с .net платформой.

проблема с клиентским API состоит в том, что у Вас все еще должен быть экземпляр memcached, работающего на другом поле где-нибудь предпочтительно, как Вы отметили, с помощью стека LAMP. Используя скоростные средства Вы все еще собираетесь быть работой того же стека и существует более трудная интеграция через .net платформу.

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

7
ответ дан lomaxx 24 November 2019 в 08:55
поделиться

Скорость немного более включена для администрирования, но это далеко, намного более мощно тогда memcached. Я не anti-memcached, нисколько бит, это является большим. Но продвигаясь, новые проекты, которые являются чистой базирующейся.NET, являются сумасшедшими не усилить Скорость, даже в ее текущем невыпущенном состоянии.

6
ответ дан Silvas 24 November 2019 в 08:55
поделиться

проблема с клиентским API состоит в том, что у Вас все еще должен быть экземпляр memcached, работающего на другом поле где-нибудь предпочтительно, как Вы отметили, с помощью стека LAMP.

Нисколько верный. ЛАМПА (Linux, Apache, MySQL, PHP) стек не требуется выполнить Memcached. Я в настоящее время предпочитаю memcached по скорости, пока скорость не вне CTP. Я играл вокруг со скоростью некоторое время, но нашел это слишком громоздким. Я следую за той целой вещью KISS, Вы знаете... сохраняют это простым. Ничто более простое, чем кэширование... Станьте (ключевыми)... Помещенный (ключ, значение)... Уничтожьте (Ключ).

3
ответ дан 24 November 2019 в 08:55
поделиться

посмотрите SharedCache . его открытый исходный код, простой в использовании и очень надежный.

Высокопроизводительная система кэширования объектов с распределенной памятью, универсальная по своей природе, но предназначенная для ускорения динамических веб-приложений и / или выигрышных приложений за счет уменьшения нагрузки на базу данных. Не забудьте посетить нас по адресу http://www.sharedcache.com

6
ответ дан 24 November 2019 в 08:55
поделиться

Since Velocity didn't exist at the time, I used a memcached port to Windows for the company that I work for, Skiviez. It mainly only exists to provide a centralized cache for multiple worker processes on the same machine. It's been running fine about 18 months now on an e-commerce site that sees modest use (~18,500 hits/day). The client that I used was Enyim integrated as a cache provider for iBATIS.NET. That client seems to work well enough; memcached clients are not very complicated to begin with, either.

If I had to do it again, I'd probably look at Velocity if I was committed to remaining on Windows for my distributed caching solution. But it's working now, so I'm not going to touch it.

(Aside: Since then, I negated most of the need for the cache by adding certain Cache* columns to key tables in the database that are updated by a scheduled task every evening. This ended up putting much less strain on resources all around, from the initial hit in CPU time by querying the database to the subsequential strain on memory availability by keeping the cached results sitting in memcached. It also made it much more explicit in the code when a cached version of the data is being accessed versus a calculated-on-the-fly version. I'm sure you have lots of reasons to use a distributed cache, but it's always worth a shot to take a step back and question whether or not you really need it!)

12
ответ дан 24 November 2019 в 08:55
поделиться

Я удивлен, что никто здесь еще не упомянул Redis - это одно из самых функциональных и быстрых (110,000 SET'ов в секунду на linux-боксе начального уровня) хранилищ данных с ключевыми значениями с богатой поддержкой структуры данных для строк, множеств, списков, сортированных множеств и хэшей.

Хотя windows не является официально поддерживаемой платформой, он прекрасно работает под windows, проходя все тесты. У меня есть сборки для windows (с использованием Cygwin), доступные здесь: https://github.com/ServiceStack/ServiceStack.Redis#redis-server-builds-for-windows

Он также имеет клиентские привязки почти для каждого языка программирования, используемого сегодня. Я поддерживаю богатый клиент C# Redis с открытым исходным кодом с поддержкой родного API для любого типа C# POCO, поддержкой транзакций и Thread-safe клиентскими менеджерами, которые готовы к внедрению в любой IOC: https://github.com/ServiceStack/ServiceStack.Redis

21
ответ дан 24 November 2019 в 08:55
поделиться
Другие вопросы по тегам:

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