А зачем сразу всю? обновляется значение в БД (ну или где-то где оно хранится) - обновлять в мемкеше. Либо использовать мемкеш именно как кеш. Т.е. при обращении к нгинксу идет проверка в мемкеше и если там нет данных то запрос на бекэнд. бекэнд кладет данные в мемкеш (на будующее) с приемлемым временем жизни и возвращает их же.
Лишние накладные расходы. Я бы хотел обновлять информацию сразу всю. В случае массива это просто, а вот поместить 500 тысяч элементов в memcache не так и быстро.