wordpress/Adobe Animate CCなどweb技術やブログ運用に関する話をしていきます!検索エンジン最適化に関する実験に関する情報も!
⇒ 本ブログの詳細/連絡先はコチラ!
web技術TOP WordPress アクセスアップ Adobe Animate CC 便利ソフト/サービス紹介 効率化
  1. ホーム
  2. 〇ブログ/web技術
  3. WordPress
  4. WordPress関連TIPS
  5. [WordPress]どこでも使えるデータ(キャッシュ)保存先!wp_optionsテーブルを有効利用してみよう!
■注目記事一覧

高校数学 教科書用シミュレーターの制作に携わりました!!

複数専門ブログと雑記ブログ、両方のいいとこ取りの形態/両立を技術的に実現してみました!

Adobe Animate CC(旧FLASH)が凄い!技術者にこそ是非!

WordPressのGutenbergで秒速で設定済みブロックを呼び出す方法!

ブログ記事数500突破!開設から2年3ヵ月のアクセス数変動を振り返ってみた!

エックスサーバーが凄すぎる!高速レスポンスを誇る高品質サーバー!

デジハリのAdobe講座がやばすぎる!Adobe Creative Cloudが45%オフで購入可!
 
全テーマ共通記事一覧

[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でブログ始めるならエックスサーバーがおススメ!




お気軽にコメントお願いします!

Your email address will not be published. Required fields are marked *