Как лучше кэшировать данные?
localstorage на клиенте.
Если данные, которые нужно кэшировать одни для 100-500-1000 юзеров, т.е. твой PHP скрипт отработал, получил результат и он должен отдаваться N раз, тогда смотри в сторону серверного кэша(файлы, redis/mem_cached). Если генерируемая пара уникальна для каждого юзера, см. ответ DevMan