al singolo client non penso interessi TUTTA la mappa, ma al più la mappa del punto di dove si trova più eventualmente qualcosa dei punti limitrofi no? Avere tutta la mappa in cache mi pare una follia (per i problemi di ram che dici), dovresti fare caching su file ma cmq lo script php andrebbe a caricarsi tutta una mappa da 7milioni di chiavi ogni volta... rivedete la struttura di questa mappa, direi db più cache su file dei risultati delle query (che immagino non dipendano dal client che le ha fatte? o si?)