ключ должен использовать идентификатор пользователя
user id { mobile number ... + list of contact ...[which is the user id]}
// by accessing this key able to get all mobile number
// and his contact list
значение предложения должно быть максимально простым,
нет JSON, нет сериализации данных
user id {m:xxx,xxxx..., c:yyy,yyy,yyy}
это для экономии места, а также для сохранения обработки для json_decode / unserailize
при получении всех контактов для пользователя
1. fetch cache using user id (one call)
2. iterate the list of contact
3. fetch parellel of all the contact (user) key * function handling
4. iterate to build a multi dimensional array
когда пользователь добавляет / обновляет / удаляет номер мобильного телефона,
или добавление / обновление / удаление номера мобильного телефона
1. fetch cache using user id (one call)
2. expire the key using user id
3. iterate the cache result
ваша функция должна быть, если кеш не существует в memcache,
выборка из базы данных,
установить memcache,
вернуть результат базы данных