Archive for the ‘database’ Category

 

mongodbとphp

12月 26th, 2014

phpからmongodbを利用してみる 適当にコマンドを入れてみました。 $mongo = new MongoClient( “mongodb://localhost:31230″, array(“connect”=>true)); $user = array(‘name’=>”jo”); $ret = $mongo->text->users->createIndex(array(“name”=>1), array(“unique”=>true)); $ret = $mongo->text->users->insert($user); $mongo->text->users->remove($user); $cursor = $mongo->text->users->find(); var_dump(iterator_to_array($cursor)); 検索してみました。 $users = array( array(‘name’=>”いきものがかり”,’team’=>’red’), array(‘name’=>”HKT48″,’team’=>’red’), array(‘name’=>”SKE48″,’team’=>’red’), array(‘name’=>”AKB48″,’team’=>’red’), array(‘name’=>”藤あや子”,’team’=>’red’), array(‘name’=>”水樹奈々”,’team’=>’red’), array(‘name’=>”水樹奈々男”,’team’=>’white’), array(‘name’=>”長渕剛”,’team’=>’white’), ); foreach($users as $user){ $ret = $mongo->test->artists->insert($user); } $cursor = $mongo->test->artists->find(array( ‘$and’ => array( array( ‘name’ => new MongoRegex(‘/水樹/i’) ), […]

Read full article | コメントは受け付けていません。

mongodb 使ってみる

12月 26th, 2014

epal の 2.4を入れました。 簡単に mongo.configを作成して bind_ip = 127.0.0.1 port = 31230 fork = true pidfilepath = /home/????/data/mongodb/mongodb.pid logpath = /home/????/log/mongodb/mongodb.log dbpath=/home/????/data/mongodb/data journal = true nohttpinterface = true $ mongo –port 31230 MongoDB shell version: 2.4.12 connecting to: 127.0.0.1:31230/test Welcome to the MongoDB shell. For interactive help, type “help”. For more comprehensive documentation, see http://docs.mongodb.org/ Questions? […]

Read full article | コメントは受け付けていません。

kyototycoon ulog削除の管理

2月 2nd, 2014

更新ログの削除作業 http://fallabs.com/blog-ja/promenade.cgi?id=116 master masterでもあまり変わらないのかな $ ktremotemgr slave -uf -host 192.168.0.99 -port 33333 master/ulog.001/0000000052.ulog 24397417 1391329555421000000 $ ktremotemgr slave -uf -host 127.0.0.1 -port 33333 master/ulog.002/0000000052.ulog 24396302 1391328292340000000 master masterにしているので同じくらい同じ物を書き込んでいるけどログは違う。 とりあえず時間指定して $ ktremotemgr slave -ur -ts 1390090118966000000 -host 127.0.0.1 -port 33333 で指定時間より前の物は消えた。 すべてのサーバーのulogの一つ前の時間をチェックして、一番古いものより古い時間を設定したいと思います。 かなりの勢いでログが貯まるのが怖いのでここは自動化が必要ですね。

Read full article | コメントは受け付けていません。

pfsockopenでkeepaliveでkyototycoon

1月 24th, 2014

もともとそのつもりで作ったのですが fcloseしているところがあったので閉じているとこが判明・・・ 何度もつなぎ直していました。 fcloseをやめたら問題なくkeepaliveでプロセス以上にコネクションが増える事はありませんでした。 * pfsockopenでつなぐ。fcloseしない。 * HTTP/1.1で接続する これだけで問題なく動作しています。 アプリケーションサーバーとバックエンドサーバーが多対多なので、振り分けを整理するとコネクションをかなり減らす事ができます。 2つkyototycoonを動かしているので、これも同じ振り分け方にするとかなり良くなりそうです。 php-fpmもstaticでプロセス数を固定したら計算通りの動きになるので良い感じになると思います。 プロキシーからアプリケーションへの振り分けも共通化しないと行けないのでこれを作らないと。

Read full article | コメントは受け付けていません。

mysql procedure Error : Result consisted of more than one row

10月 30th, 2013

select into で複数行エラー Error : Result consisted of more than one row が出たら limit 1をつければ良いそうです。

Read full article | コメントは受け付けていません。

Zend_Search_Lucene_MultiSearcher

9月 28th, 2013

php luceneで久々にちょっと更新していたら、良さそうなのが・・・ http://framework.zend.com/manual/1.12/en/zend.search.lucene.searching.html と思ったけど中身は自分で書いたのと同じで単純に中で配列に持ってるだけだった。 これから使う方は書かない分良いけど、sortやら何やらは全部書くので特に使う理由が無かった。 phpでもマルチスレッド出来るようにならないかなといつも思ってるけど 毎回マルチプロセスのことがマルチスレッドと出てくるのでちょっと。

Read full article | コメントは受け付けていません。

redis incrby

4月 6th, 2013

redis > incrby aaa 1 で 1 増やすキーが無い時は 0 + 1になる。 redis > incrby aaa -5 もできる、マイナスも増える redis > set neighbor:aaa “{‘aaa’,9}” OK redis > sort neighbor:login by nosort get neighbor:* get * 1) “{‘aaa’,9}” 2) “4” redis > incrby aaa 1 (integer) 5 redis > sort neighbor:login by nosort get neighbor:* get * 1) […]

Read full article | コメントは受け付けていません。

nginx + eval + memcached : check block id

4月 1st, 2013

API認証をどうしようかと memcachedにブロックidを入れて、チェックしようと思います。 1. nginx でmemcachedからデータを取得 ng => 403 ok => 2 2. アプリケーションサーバーへ idが正常 => データを返す + ログをfluentdへ流す => 3, idが不正(桁数や簡単な法則チェックのみ) => memcachedへblockidとして登録。403を返す。 ipチェックもする 3. 正常時 fluentd + redisでidカウンタ 数値が上がったらアラート →異常値→4 4. 異常値確認 異常値だったらmemachedへblockidとして登録 // 別プロセスで定期的にredisをチェック。 これでいけそうです。 /// インストール http://blog.bbtune.com/archives/2412/nginx-exchange-header 以前と同じ方法でrpmを作ります。 https://github.com/agentzh/nginx-eval-module 1.0.3を使わせていただきます。    –add-module=/tmp/nginx/headers-more-nginx-module-0.19rc1\    –add-module=/tmp/nginx/nginx-eval-module-1.0.3\ debugバージョンと2つあるので両方入れておきます。 nginx conf upstream api_server {  server 127.0.0.1:30101; […]

Read full article | コメントは受け付けていません。

fluent-plugin-redis-event-rank | github

3月 26th, 2013

https://github.com/junichi-otake/fluent-plugin-redis-event-rank にコードをあげました。

Read full article | コメントは受け付けていません。

redis で sortするときstoreしてないのにread only ( slave ) エラー。

3月 20th, 2013

redis > sort 201303_001:all (error) READONLY You can’t write against a read only slave. redis > zrange 201303_001:all 0 100 1) “aaa” 2) “bbb” http://redis.io/topics/replication slaveで重いsortしましょうと書いてあるから使えないはずはないと思うけど、設定かな # Replication role:slave master_host:127.0.0.1 master_port:30110 master_link_status:up master_last_io_seconds_ago:3 master_sync_in_progress:0 slave_priority:100 slave_read_only:1 connected_slaves:0 sorted setだから?テストしないとダメだな・・・ slaveでsortするなんてみんなやってそうだけど、検索してもあまり出ない。。。 read only をはずせば行けるけど slave-read-only no データ的には、万が一slaveに書き込んだとしてもランキングデータだから作り直せば良いだけだけど。たぶん他に手はないかな

Read full article | コメントは受け付けていません。