勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

PHPからredisを利用する

      2014/07/08

もうちょっと
突っ込んで触ってみる。

 

【接続と終了】

 

エラーで止めたくない場合は、

 

で。var_dumpでみたところ返り値はtrue/falseだった。

次にデータベースの選択。

 

何も入れなければデフォでdb0に入る
また、デフォで0~15までいける模様。

/etc/redis.conf

のdatabaseの部分を弄ればもっと増やせそうではある。

終了は、

で行う。

 


 

【格納と取り出し】
・string 文字列
1つのkeyに対して1GBまで格納できるとのこと。

 

 

無いキーを指定するとfalseが返ってきた。
条件分岐とかで楽に使えそう。

尚、同じキーで違う値を入れると上書きされる。

あと、

$redis->setex('hoge',10,'huga');

とすることで10秒後に消える設定にできた。

■ドキュメント
http://redis.shibu.jp/commandreference/strings.html

 


 

・list リスト型
重複OKな文字列のリスト型。前後から出し入れ、
範囲指定等で取出しが可能。ノーマルな配列と似たような感触。

 

 

尚、有効期間を指定したい時は、

$redis->expire('key',秒数);

とすることでいける。
keyが存在しない場合はfalseが返る。

逆に秒数を確認したい時は、

で確認できる。

キーが存在しなかったり、有効期間が設定されていない場合は
-1が返るので注意!

■ドキュメント
http://redis.shibu.jp/commandreference/lists.html

 


 

 

・hash ハッシュ型
1つのkeyに対してfield-valueで格納する。
多次元連想配列っぽいもの。

 

 

年齢キーの田中さんは19歳、
山田さんは22歳みたいな形になる。

expireで秒数も指定できる。秒数が過ぎた場合は
そのkeyの値が全て消える。

また、重複登録は不可となっており、

 

 

とした場合、33歳に上書きされる。

■ドキュメント
http://redis.shibu.jp/commandreference/hashes.html

 


 

 

・set セット型/sorted set ソート済みセット型
順不同の文字列型集合。

 

 

これの使い方、使い道はよく分からなかった。

■ドキュメント
http://redis.shibu.jp/commandreference/sets.html
http://redis.shibu.jp/commandreference/sortedsets.html

 


 

 

【その他】
・サーバー情報や統計情報、バージョン等を出力

 

 

で表示される。

 - PHP, redis

  関連記事

images
PHPでCSVファイルを作って開くと「SYLKファイルが云々」のアラートが出た

データベースのログを整形してCSVファイルを生成し、ダウンロード及びエクセルで開 ...

images
PHPでファイルをダウンロードさせる

集計ページみたいなんがあった。その集計ページを CSV化したいと言われた。 ■ソ ...

images
PHPからPOST送信する方法

PHPから他サーバのAPIに対してPOSTでリクエストしたかった。GETだったら ...

images
PHPの構文チェック

JSONLINTみたいにオンラインで構文チェックを できるサイト様があったのでメ ...

url
CodeigniterでCSSやJSファイルを読み込む

CodeigniterでCSSやJSファイルを読み込みたかった。また、それをヘッ ...

images
フォーム管理画面テンプレPHP

<?php ini_set( 'display_errors', 0 ); ...

images
画像をURLから取得して異なるサーバーにアップロード

■やりたかった事 ・画像があるサーバーはaaaサーバー ・アップロード先はbbb ...

images
PHPで配列じゃないものに対してソート

PHP Warning:  sort() expects parameter 1 ...

images
PHPにて自動でファイルを呼び出す(auto_prepend_file)

設定ファイルとかをinclude('config.php')みたいに、 いちいち ...

images
PHPで月末日を取得

PHPファイルを触っている際に日付処理時、 date('t')というものがあって ...