How to cache data on a client?

I have this fairly simple question, How do I cache data on a player’s device/client so it can be accessed later in other sessions?

I have a practical example for this, eg use case:

  1. Storing device-specific controls.
    If a player plays both on a tablet and a mobile, he might have a different control layout. Just to store that info.

  2. Storing the game’s map or user stats, For Quickly retrieving the user’s stats or a map so it won’t take up to an hour for a laggy player to load a map during matchmaking.

  3. Potentially caching Scripts so they can be loaded next time much quicker if the game’s scripts haven’t been updated during that.

If there is a way to do this, How then,
I have seen Riot Fall doing the same, caching the map, it says the game will load quickly if you have recently played.
How???