notepad.exe

日記です

キャッシュ(現金)について

 仕事で必要になったのでキャッシュ処理の実装を書いてた。言語や環境は違うけど過去になんども書いてるし、もはや反復作業のようになってる。ストレージの抽象クラスと、それを継承したストレージと、get(read)とset(write)がある受け口でそれらのインスタンスをもって、あとexpireする仕組み用意して、だいたいいつもこんな感じの構成になる。新しめのフレームワークだと、あらかじめこういうのが用意されてるから楽だと思う。仕事だと常に新しいものを触っていられるとは限らないので、ときどき泥臭い努力をする必要がある。

 そういえば、ちょっと前にjavascriptのlocalStorageをラップするようなやつも書いたりして、それもキャッシュ処理に似た感じの実装になったっけ、とか思い出したりした。localStorage、オブジェクトとかそのまま突っ込めないし、素のAPIだとかなり使いにくいと思う。JSON.stringifyしたりparseしたり、expireするようなラップクラスを書いてる人けっこういるんじゃないかと思って、github検索してみたらたくさんいた。みんな似たような感じの実装だったし、そういうのが必要になってしまう素のAPIがだめな気がする。