0

Я работаю над проектом хранилища данных, на котором я должен работать с memcache. Но потому, что я никогда не использовал memcache, поэтому я смущен этим. Я следил за ссылкой this и успешно сохранял и извлекал значения из memcache.Как обновить данные в хранилище данных, сохраненных в memcache?

$memcache = new Memcache; 
$value = $request->getContent(); 
return $memcache->set($key, $value); 

и

$memcache = new Memcache; 
return $memcache->get($key); 

Так что это достаточно для меня, когда я хочу получить только детали пользователя и сохранить его в memcache. Но проблема заключается в вставке значений из memcache в базу данных. Может кто-нибудь, пожалуйста, назовите меня, как я должен подходить к нему. Должен ли я сохранять изменения пользователя в memcache, когда он их делает, и когда вы пытаетесь выйти из системы, я должен сначала сохранить все изменения в хранилище данных или есть некоторые другие решения, доступные для внесения изменений позже? Пожалуйста, помогите мне.

+2

Подробнее о memcached. вы поймете, что это плохая идея не сохранять сразу в хранилище данных, потому что у memcache нет никаких гарантий, чтобы вы потеряли данные, и это по дизайну. –

+0

Привет @ZigMandel, я действительно хотел сохранить частые вызовы api для обновления или вставки данных. Думаю, это будет экономически выгодно. Не могли бы вы рассказать мне, что мне делать, чтобы моя система была эффективной с точки зрения затрат? – MKB

+1

Да, вы могли бы сохранить фиксации в memcached, но не будете помогать вам, если вы совершаете много раз в секунду. это возможно, но вам нужно хорошо подумать, когда его совершить. определенно не на «logout» –

ответ

1

Не думайте, что это «вставка данных из memcache в базу данных» - для этого нет ничего особенного. Вы просто вставляете в базу данных (обычным способом) данные, которые только что были извлечены из memcache.

+0

Привет @Dan ... Я застрял, потому что хочу уменьшить api-вызовы для записи данных в базу данных. Например, у меня есть пользовательский объект, который мне нужен, чтобы получить его информацию и обновить его в соответствии с вашим запросом. Но каждый раз, когда пользователь обновляет хотя бы одно поле, он будет делать запрос к хранилищу данных. Как я могу предотвратить это? – MKB

+0

, похоже, не отвечает на вопрос (но это хороший совет для комментариев, а не как ответ) –

+1

@MKB: не пытайтесь использовать memcache в качестве буфера для ** записи ** в хранилище данных - вы повредите свой данные, поскольку информация memcache может исчезнуть в любое время (и в конечном итоге), а операции memcache не защищены транзакциями. –

 Смежные вопросы

  • Нет связанных вопросов^_^