[WordPress]どこでも使えるデータ(キャッシュ)保存先!wp_optionsテーブルを有効利用してみよう!
WordPressなどでphpを使用している場合に、困るのがデータの引き継ぎ方法ですね。phpってアクセスごとに起動して動くので、シンプルで良いのですが、設定やデータを引き継ぎ方法に困るんです。一度計算した結果や出力ページのキャッシュを、次のアクセスで計算せずに引っ張りたい時、、、
そういった時のデータ保存方法としていくつかあるのですが、WordPressではwp_optionsテーブルという便利なデータ格納テーブルがあるんです!簡易的に使用できるので、その利用方法を簡単にご紹介しておきます!
phpのデータ(キャッシュ)保存方法(使用できるかは環境による)
phpとしてはAPCU(メモリキャッシュ)とcache_lite(ファイルキャッシュ)の2つがあるそうです。基本的にAPCUは共通メモリ領域にデータを乗せるので超高速ですが、VPSなど使用できる環境が限られますし、phpが再起動するとデータが消される可能性があるという仕様があります。
cache_liteはファイルにデータを格納するというシンプルな方式。でも、ディスクアクセスが発生するため、基本的に遅いはず、、、。しかも何故かエックスサーバーではこれが使えないらしいです!何故、、、
ということで汎用的にどこでも使えるデータ保存方法ってないんですよね、、、
wp_optionsテーブルならめちゃくちゃ簡単にデータ保存できます!
コレに対して、WordPressにはあまり見えない部分ですがwp_optionsテーブルというものがあります。これは、「プラグインの設定値などを格納するテーブル」になります。ただ、この設定値の保存、、別にプラグインでなくても普通に使えるようになってます。
しかもめちゃくちゃ楽に使えるんです!
データの保存はこんな感じ。retu27_settingreiってのは保存するパラメタ値です。これってグローバルなパラメタなので、他とかぶらないように「ドメイン名_パラメタ名」みたいな名付けにしておいたほうが良いです。
update_option("retu27_settingrei","保存したい値");
保存したデータは下記の命令で取得できます。上記のupdate_optionを実行してから、このget_optionを呼ぶと、”保存したい値”が返ってきます。それ以後のアクセスでも。
get_option("retu27_settingrei")
たったこれだけでデータが保存できるんです!さらに、保存する値は文字列や数値だけでなく、配列やオブジェクトもそのまま入れられるらしいんです(中でシリアライズ/文字列化される)。超便利ですよね、、これだけで値を引きついだプログラムが可能になります。わざわざファイルやDBにアクセスするプログラムを書かなくてもこれだけで、大丈夫なんです!
毎回読み込まれるので、乱用に注意です
そもそも元の用途は「プラグインが設定を保存できる汎用的なDB格納場所」です。また、この設定はデフォルトで毎回アクセスごとにメモリに読み込むようです。なので、頻繁に書き換えるデータや大きなデータを置くのはあまりよくないみたいです。なので、一度計算したらあまり書き換わらないデータやキャッシュを格納するのが良いかもしれません。
環境が合えば、phpのAPCUやcache_liteを使うのが1番ですね。でも、この2つは環境依存です。特にエックスサーバーで動かないのが痛いです。そういった場合は、上記のupdate_optionとget_optionを活用するのが良いと思います!格納しすぎると、リソースを圧迫するので適度なタイミングでphpMyAdminでデータ削除することをオススメします!
⇒「WordPress関連TIPS」カテゴリ記事一覧
その他関連カテゴリ
↓WordPressでブログ始めるならエックスサーバーがおススメ!