Stockage des données json compressées dans le stockage local

Je souhaite stocker les données JSON dans le stockage local. Parfois, les données stockées peuvent être supérieures à 5 Mo (seuil maximal autorisé par les navigateurs pour chaque domaine). Est-ce que de toute façon, je peux compresser ou supprimer les données et les stocker dans un stockage local? Combien de latence il ajoutera si compression et décompression pour chaque fonction JS sur de grandes données?

J'utilise ces données json pour afficher sur la page Web ….. C'est comme une donnée statique qui est le plus souvent pour toute la session. Nous fournissons des actions comme la recherche, le filtre, etc. sur ces données json … Chaque fois que l'utilisateur entre un mot-clé, je recherche dans ces données json qui sont stockées dans un stockage local au lieu de faire appel au serveur

Étant donné que la fonctionnalité de localStorage semble être limitée pour gérer uniquement les chaînes / les couples de chaînes, vous pouvez utiliser la bibliothèque de lz -string pour restreindre l'objet json et le compresser avant de le stocker dans localStorage

Usage

// sample json object var jsonobj = {'sample': 'This is supposed to be ling string', 'score': 'another long string which is going to be compressed'} // compress string before storing in localStorage localStorage.setItem('mystring', LZString.compress(JSON.stringify(jsonobj))); // decompress localStorage item stored var string = LZString.decompress(localStorage.getItem('mystring')) // parse it to JSON object JSON.parse(string); 

Vérifiez jsfiddle http://jsfiddle.net/raunakkathuria/7PQtC/1/ car j'ai copié le script complet, alors cherchez le code courant à la fin du violon