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

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

Читать дальше →

Sliding Expiration в memcached

PHP
Разрабатывая в основном под .NET столкнулся с тем, что в memcached отсутствует Sliding Expiration вариант хранения данных.

Первым шагом что бы решить эту проблему было написание «менеджера» дописывающего к данным, которые кладутся в кэш тип (Абсолютный или Sliding) и время хранения, что бы при последующих чтениях из кэша брать эти дополненные данные, смотреть на тип хранения и в случае Sliding перезаписывать данные.

Будут рассмотрены только Get и Set операции, т.к. остальные делаются по аналогии. Increment / Decrement тут не поддерживаются.

Выглядело это примерно так:

Читать дальше →