phpで音速DBredisをbittmpで集計アクセスカウンターとして使う
2014年7月2日更新 view: 61 view
photoBy: http://redis.io/images/redis-300dpi.png
bitで集計してみる
参考
http://d.hatena.ne.jp/toritori0318/20140427/1398607011
スポンサードリンク
具体例
- リアルタイムアクセスカウンター
- raumen には2から4までのIDが入る
- 'raumen:2:visit:2013-11-13','raumen:4:visit:2013-11-13','raumen:3:visit:2013-11-13' のキーを持つものを集計
実はphpredisのbitopメソッドは動かない。。。
まずはこれでハマった。全く動かない。
ということでオリジナルのメソッドを作る。
public function bitop( $operation, $retKey, $keys = array() ) { $key = implode(' ',$keys); $output = shell_exec('redis-cli BITOP '.$operation.' '.$retKey.' '.$key); return $output; }
コード
データを登録
まずは適当に登録してみる。
ラーメンID(記事のIDとか。):訪問日、ユーザーID、アクセス数 +1 に。
$this->Redis->setbit('raumen:2:visit:2013-11-12', 2, 1); $this->Redis->setbit('raumen:2:visit:2013-11-13', 2, 1); $this->Redis->setbit('raumen:2:visit:2013-11-13', 6, 1); $this->Redis->setbit('raumen:3:visit:2013-11-13', 3, 1); $this->Redis->setbit('raumen:4:visit:2013-11-13', 4, 1); $this->Redis->setbit('raumen:4:visit:2013-11-13', 5, 1);
データカウント
$this->Redis->bitop('OR','visit:total',array('raumen:2:visit:2013-11-13','raumen:4:visit:2013-11-13','raumen:3:visit:2013-11-13')); $res = $this->Redis->bitcount('visit:total'); pr($res);//5
問題点
- わざわざユーザーID作る必要あるん?めんどいし、データを専有しちゃいそう。
- インクリメントできない。
https://tech.bellycard.com/blog/light-speed-analytics-with-redis-bitmaps-and-lua/
にはインクリメントできるような事書いてあるけど、できない。
http://blog.getspool.com/2011/11/29/fast-easy-realtime-metrics-using-redis-bitmaps/
を見ると、日付とユーザーIDどんどん追加していいようなこと書いてあるけど。
スポンサードリンク
関連記事
関連カテゴリ

コロ助
web関連の記事や制作系の記事をどんどんまとめていきます。 宜しくお願いします!
ピックアップ
-
LINEで異性と出会う3つのコツ
view: 23409 view
パソコン・ソフトウェア ランキング
4月26日 ( 木 ) にアクセスが多かった記事はこちら!
-
世界で一番簡単なsakura vps で postfix を 使った メールの受信、送受信設定
view: 853 view -
コーディングを23倍すっきりさせる if endif系のまとめ
view: 3295 view -
cakephp mysql 自己結合
view: 484 view -
無料のタイピングソフトまとめ!
view: 155 view -
cakephp3FriendsOfCake/searchプラグインの日本一簡単な使い方
view: 271 view -
テキストをcssで虹色にする
view: 1163 view -
cakephp3.xCakeManagerで画像アップロード
view: 310 view -
mysql起動も再起動も停止すらできない
view: 1395 view -
iphone バックアップ先を変更 windows7編
view: 41198 view -
さくらサーバープラン間でドメインを移動、移管する
view: 329 view