Javascript (カレンダー007_データ保存先)
■データの保存について考えてみる。
前回で一応のかたちになったので今後、気になったところを修正していく。
今回はデータの保存として使われているlocalStorageについて。Javascriptのオブジェクトということだが、実際どんなもの?という感じ。また、貯めたデータを別のかたちで使えないか試したいので、できればデータベース状のものに保存できればと思う。
localStorageについて気になったポイント。
1.ブラウザに保存する。
2.キーと値を紐づけたMap状になっている。
3.5MBまで保存。
ブラウザに保存する......?データベースへの保存の場合、データベース用のファイルが作成され、その中に保存されるはずだけど、ブラウザに保存するというのもどこかにファイルが作成されているのかな?
フォルダ内を探ってみると、ブラウザのフォルダにLocal Storageというものがあった。
(ユーザ名)\AppData\Local\Google\Chrome\User Data\Default\Local Storage\leveldb
この中のlogファイルに記述されているよう。logの拡張子を変更したら、記録していたデータが消え、拡張子を戻したら出た。
また、Microsoft EdgeもLocal Storageのフォルダを別途もっていたので、おそらくEdgeを使った場合、別ファイルとして保存される。これはあまり好ましくない。
5MB分の容量は、テキストを保存する場合には十分だと思うけど、ブラウザ毎に別ファイルになるのを避けたいので別の手段を考えたほうがいいかな。それに、Map状で記録されるので、キー用と値用の2種類しか登録できないだろうし。
ので、データベースの利用を考えてみたい。
データベースといってもMySQLやらMongoDBやらSQLiteやらいろいろある。どれにしたものか。今はlocalStorageというクライアント側にデータ保管をして完結するかたちとなっている。
簡単にやるには、同じようにクライアント側にデータベースを配置してつなげるようにすることだが、せっかくなのでサーバ側におけないか試してみる。
データベースは、Wordpressで使っているMySQLを使えないか試してみようか。
今回は方向の検討まで。