Редис и какой-то заготовленный xml это лишнее, вот несколько советов:
1. Сделать что-то вроде небольшого api, которое будет возвращать json-массив точек для карты (естественно не все сразу, а с какой-нибудь пагинацией) в ответ на ajax-запрос, и корректно его закешировать.
2. При использовании карты нужно учесть большое кол-во точек (как минимум можно использовать кластеризацию).
3. В яндекс.картах есть специальный менеджер объектов, который поддерживает большое кол-во точек (в одном из проектов я выводил 7000-10000 точек без заметных тормозов на клиенте), в гугл.картах скорее всего тоже есть подобные механизмы.
4. Если точек очень много, то дополнительно можно выводить только те которые попадают в область видимости.