Archive for the ‘database’ Category

 

kyototycoon play_scriptをphpから利用する。

7月 15th, 2012

前回 play_scriptの部分を書く前だったので play_scriptの部分を 資料 [http://fallabs.com/kyototycoon/spex.html] /rpc/play_script Call a procedure of the script language extension. input: name: the name of the procedure to call. input: (optional): arbitrary records whose keys trail the character “_”. output: (optional): arbitrary keys which trail the character “_”. status code: 200, 450 (arbitrary logical error). ということで、前のクラスにplay_scriptを追加  public function play_script($name, $inmap){   […]

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

kyototycoon PHPから利用する

7月 13th, 2012

[http://fallabs.com/blog-ja/promenade.cgi?id=99] 複雑なことはしないので、簡単に書いてみる。set get play_script outくらい class Data_Kyoto{  protected $host = ‘localhost';  protected $port = ‘50311’;  protected $timeout = 3;  protected $baseUrl = ”;  protected $kt ;  public function __construct(){    $this->setBase();  }  protected function setBase(){    $this->baseUrl = ‘http://’.$this->host.':’.$this->port.’/rpc/';  }  public function get($key,$db=null){    $api = $this->baseUrl.’get';    $params = array(‘key’=>$key );    if($db) $params['DB']=$db; […]

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

kyototycoon luaで2つのデータベースを利用。

7月 13th, 2012

$ lua Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio [http://fallabs.com/blog-ja/promenade.cgi?id=124] 2つのハッシュデータベースにデータを入れるだけ 1つ目は、idとデータ 2つ目は、keyとidリスト アイテムテーブルとユーザーテーブルのような関係。 起動コマンドは、サンプルの通り scrにスクリプトを設定する Starting the server of Kyoto Tycoon Executing: ktserver -port 50311 -dmn -pid /var/ktserver/first/pid -tout 3 -log /var/ktserver/first/log -scr /home/first/backend/lua/first.lua Done first.kch user.kchとして起動 1. script : idとuserでdataを登録する。 $ ktremotemgr script -port 50311 set id 100 user fujisan data “{id:100,user:fujisan,etc}” 2. […]

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

kyotocabinet kyototycoonをインストールしてluaでスクリプト追加してみる。

7月 12th, 2012

centos 6です。 zlibが必要。 luaを入れる。 yum install lua lua-devel 最新のパッケージをダウンロードします。 http://fallabs.com/kyotocabinet/ http://fallabs.com/kyototycoon/ //fallabs.com/kyotocabinet/pkg/kyotocabinet-1.2.76.tar.gz //http://fallabs.com/kyototycoon/pkg/kyototycoon-0.9.56.tar.gz ./configure make make install で。 kyototycoonには、./configure –enable-lua とオプションを付ける。 checking for lua.h… yesが入る。 make; make install ktserver: error while loading shared libraries: libkyototycoon.so.2: cannot open shared object file: No such file or directory # vim /etc/ld.so.conf.d/ktserver.conf /usr/local/libを追加。 /sbin/ldconfig -v /usr/local/lib: libkyototycoon.so.2 -> libkyototycoon.so.2.19.0 libkyotocabinet.so.16 […]

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

Error : Cannot load from mysql.proc. The table is probably corrupted | mysql

6月 11th, 2012

Error : Cannot load from mysql.proc. The table is probably corrupted こんなエラー。 mysqlのバージョンが違うようで、バックアップしたデータをそのまま入れたので変更が必要 mysql_upgradeしてみる。 $ sudo mysql_upgrade –datadir=/home/simpleblog/data/my/data > mysqllog mysql_upgrade: the ‘–datadir’ option is always ignored datadirが使えないので $ sudo mysql_upgrade -P 50999 -h 127.0.0.1 > mysqllog にしたらOKでした。 Looking for ‘mysql’ as: mysql Looking for ‘mysqlcheck’ as: mysqlcheck Running ‘mysqlcheck’ with connection arguments: ‘–port=50531′ ‘–host=127.0.0.1′ […]

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

skip-name-resolve | mysql

2月 28th, 2012

ドメインで利用しないとき ip だけで接続。 my.cnf skip-name-resolve 起動オプションに付けるときは –skip-name-resolve

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

php zend Lucene pagination

1月 24th, 2012

http://framework.zend.com/manual/1.11/en/learning.lucene.pagination.html なんとなくコメントが面白いので。 検索結果のidだけキャッシュしておいて 次ページのときは、idからデータを取得しろというだけですが この結果のインスタンスのサイズが半端ないので、全部キャッシュするのは無理です。 とりあえず、速度だけ計ってみました。 getDocument 100回 0.10254192352295 sec 0.093567132949829 0.091049194335938 search + 100データ取得 + 1000idをcache 0.86610412597656 sec 0.6905689239502 0.69413304328918 ということで、検索は、キーワードやデータ量でかなり変わりますが、getdocument100回のほうが速いことは分かりました。 ページングとキャッシュを実装しました。 基本的には、ページング以外にキャッシュが利用されることは稀なので、memcachedのメモリは少なめに設定です。

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

Redis + predis | memcachedの代わりにRedisを使ってみる。

1月 20th, 2012

http://redis.io http://redis.io/clients memcachedを利用していた表示データをredisにしてみます。 消えても良いのですが、データが出来るまで寂しいので。 daily rankingやpublic activityとか *永続的なmemachedですが、メモリーサイズより大きいデータは扱えないので、あくまでもmemcachedの代替。Virtual Memory機能はあるが非推奨。 1. redis install # yum list redis redis.x86_64 2.0.3-2.el5 epel # yum install redis Installing: redis x86_64 2.0.3-2.el5 epel 303 k config http://redis.io/topics/data-types-intro keyの付け方がフムフム。 » Try to stick with a schema. For instance “object-type:id:field” can be a nice idea, like in “user:1000:password”. I like to use […]

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

tokyotyrant backup | tcrmgr copy

1月 12th, 2012

http://alpha.mixi.co.jp/blog/?p=147 # tcrmgr copy -port 1978 localhost /tmp/backup.tch ホットコピーできるので、mysqldumpよりも楽です。 * ulogも入れておきましょう。 * 更新しない物は、コピーだけでOK こんな感じで簡単なスクリプト #!/bin/sh copy_tt() { # 1 output_file 2 port tcrmgr copy -port ${2} localhost ${1} } SRC_IP=’333.333.333.333′ SRC_DIR=”/home/bkup/data/bkup/tt/servicename” TO_IP=’99.99.99.99′ TO_DIR=”/home/bkup/data/${SRC_IP}/tt/servicename” mkdir -p ${SRC_DIR} copy_tt “${SRC_DIR}/a.tch” 51101 copy_tt “${SRC_DIR}/b.tch” 51102 ssh ${TO_IP} mkdir -p ${TO_DIR} rsync -auz ${SRC_DIR}/ ${TO_IP}:${TO_DIR}/

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

mysql buckup | mysqlhotcopy or mysqldump

1月 12th, 2012

http://dev.mysql.com/doc/refman/5.5/en/backup-methods.html http://dev.mysql.com/doc/refman/5.5/en/mysqlhotcopy.html mysqlhotcopyしようと思ったらinnodbでは使えないとのこと。 #!/bin/sh SRC_IP=’000.000.000.000′ SRC_DIR=”/home/bkup/data/bkup/mysql” TO_IP=’1.1.1.1′ TO_DIR=”/home/bkup/data/${SRC_IP}/mysql” DATESTR=`date ‘+%Y%m%d%H%M%S’` MYSQL_NAME=’wordpress’ # test touch /home/bkup/data/bkup/mysql/db.$DATESTR # touch /home/bkup/data/bkup/mysql/db.${DATESTR} mkdir -p ${SRC_DIR} # mysqldump -u root –all-databases > ${SRC_DIR}/${MYSQL_NAME}.${DATESTR} # gzip ${SRC_DIR}/${MYSQL_NAME}.${DATESTR} ssh ${TO_IP} mkdir -p ${TO_DIR} CMD_STR=”rsync -auz ${SRC_DIR}/${MYSQL_NAME}.${DATESTR}.gz ${TO_IP}:${TO_DIR}/${MYSQL_NAME}.${DATESTR}” $CMD_STR こんな感じで。dumpしてrsync

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