2012-10-07 8 views
1

Я настраиваю memcached. У меня есть пара вопросов относительно высокого трафика и лучшей практики для обновления/настройки ключей. Я создаю онлайн-игру, где пользователям назначаются очки с шагом в 10,50 100.Высокий трафик. Несколько запросов для установки того же ключа memcached?

Использование: Храните пользовательскую «статистику игры» в ключах и выполняйте задание cron каждые 5 минут, чтобы постоянно обновлять статистику в хранилище данных. Таким образом, «игра» может функционировать без всякого перехода к дБ, чтобы сверлить значения, точки.

будет использовать разогреть сценарии, чтобы вытащить и заполнить ключи для статистики пользователей

Вопросов:
1) Будет ли вопрос вниз по дороге с высокой интенсивностью движения и пытается написать, что пользователи очки ключа?

2) Лучшая практика для увеличения значений в memcache?

Это приблизительное представление о том, что я использую сейчас

$newval = $memcache->get($key); 
$memcache->set($key, $newval+10, false, 1000) or die ("Failed to save data at the server"); 

3) Рекомендацию для хранения статистики пользователей игр в кэше? Любой вход был бы весьма признателен.

Спасибо всем!

ответ

4

Используйте Memcache's increment function, чтобы избежать возможных условий гонки при увеличении значений, хранящихся в Memcache.

Если вам нужно выполнить другую математику, кроме приращения (например, сброс до нуля), используйте compare and swap (cas).

+0

спасибо !! Прекрасно работает. Очень признателен. – btaylor507