PDOドライバを使う場合、
PDO::ATTR_PERSISTENT=>true
を設定することで、DBコネクションがキャッシュされて、再利用ができる
http://php.net/manual/ja/pdo.connections.php
Zend_Dbを使う場合には、username,passwordと同じレベルで、persistentにtrueを指定することで、同様に設定になる。
Zend Frameworkでconifig.iniに以下のように指定すると、利用できるようになる
----ここから----
resources.db.params.username=DB接続ユーザ名
resources.db.params.password=DB接続パスワード
resources.db.params.persistent=true
----ここまで----
http://framework.zend.com/manual/1.12/ja/zend.db.adapter.html
に書いてあったけど、ページの最後のほうにnoteで書いてあったから見過ごしてた。
MySQLでコネクション数をみるとpersistent=trueとすることで、いくつかのコネクションが張られっぱなしになることを確認。
ただ、PDO側でコネクション数上限を指定するところが見当たらないので、DB側のMAX分だけコネクションが張られっぱなしになる可能性もあるかも。
だれか教えてほしい。
2013年1月5日土曜日
2012年12月22日土曜日
MongoDBをUbuntuServer12.04へインストール
MongoDBをUbuntuServer12.04へインストールしてみたので、なんとくなくメモ。
10genのリポジトリを追加すると、apt-getコマンドでインストールできるので簡単。
1)PGP鍵のインストール
$sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
2) 10genリポジトリの作成
$sudo vim /etc/apt/sources.list.d/10gen.list
-----内容-----
deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
----ここまで--
3) aptのアップデート
$sudo apt-get update
4) MongoDBのインストール
$sudo apt-get install mongodb-10gen
5) 一応確認
$mongo --version
10genのリポジトリを追加すると、apt-getコマンドでインストールできるので簡単。
1)PGP鍵のインストール
$sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
2) 10genリポジトリの作成
$sudo vim /etc/apt/sources.list.d/10gen.list
-----内容-----
deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
----ここまで--
3) aptのアップデート
$sudo apt-get update
4) MongoDBのインストール
$sudo apt-get install mongodb-10gen
5) 一応確認
$mongo --version
UbuntuServer 12.04 固定IPアドレス化
Ubuntu Server12.04をインストールしたら、DHCPでIPアドレスを取得するようになっていた。
固定IPアドレスに変更してみたので、なんとくなくメモ
/etc/network/interfacesでDHCPの部分をコメントアウトし、必要な情報を設定する。
1) 設定を変更
$sudo vi /etc/network/interfaces
----------192.168.1.100に設定する例----------------
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
--------------------------ここまで---------------
2) eth0の再起動
$sudo ifdown eth0
$sudo ifup eht0
固定IPアドレスに変更してみたので、なんとくなくメモ
/etc/network/interfacesでDHCPの部分をコメントアウトし、必要な情報を設定する。
1) 設定を変更
$sudo vi /etc/network/interfaces
----------192.168.1.100に設定する例----------------
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
--------------------------ここまで---------------
2) eth0の再起動
$sudo ifdown eth0
$sudo ifup eht0
2012年11月17日土曜日
2012年10月27日土曜日
2012年10月21日日曜日
Google Map を扱うjQueryプラグイン
Google Map を扱うjQueryプラグインを調べて居たののでなんとなくメモ。
使い方の詳細は後々調べる予定。
a)jquery-ui-map
http://code.google.com/p/jquery-ui-map/
MITライセンスで公開されている。
他のプラグインがGoogleMapAPIをラップしているしているのに対して、jquery-ui-mapとう名前だけあって、角丸で表示したりと手を加えている。
jQuery Mobileと併用するサンプルが多く掲載されるし、見た目も統一感がとれている用にみえる。
サンプルはこちら
http://jquery-ui-map.googlecode.com/svn/trunk/demos/jquery-google-maps-mobile.html
b)jQuery Google Maps プラグイン
http://labs.d-s-b.jp/plugins/jQuery/jQueryGoogleMaps/
https://github.com/dreamseeker/jQueryGoogleMaps
日本の方が開発していて、MITライセンスで公開されている。
地図表示時に、マーカーなどをJSONやXMLを外部から読み込んで表示することができるようになっている。
単に地図を表示するには便利そう。
ただ、mapにアクセスする手段がないので、後からマーカーを追加したらりイベントを追加するようなことはできなさそう。
#誰か知ってたら教えてください。
c) gmaps.js
http://hpneo.github.com/gmaps/
MITライセンスで公開されている。
すごく使いやすそうなプラグイン。
gmaps.jsで作ったインスタンスを別の変数に保持しておく必要がある。
APIやサンプルがうまくまとまっている。
http://hpneo.github.com/gmaps/examples.html
d)gmap3
http://gmap3.net/
マニュアルがちょっとわかりずらい印象。
$("#map").gmap3()に渡す連想配列で、動作を指定する。
addressで住所を指定すると、位置情報を変換する機能が内包されているなど、 高機能だけど指定の仕方はくせがある。
そのままGoogle Map APIを叩くか、プラグインを使って見るか悩みどころ。
特定ポイントの地図を表示するだけならプラグインを使った方がシンプルに記述ができそうだけど、いろいろと自分で処理を書き始めると、使っても使わなくても変わらなくなってきそう。
別にライブラリを読み込むこと考えるとなくてもいいかなぁと。
使い方の詳細は後々調べる予定。
a)jquery-ui-map
http://code.google.com/p/jquery-ui-map/
MITライセンスで公開されている。
他のプラグインがGoogleMapAPIをラップしているしているのに対して、jquery-ui-mapとう名前だけあって、角丸で表示したりと手を加えている。
jQuery Mobileと併用するサンプルが多く掲載されるし、見た目も統一感がとれている用にみえる。
サンプルはこちら
http://jquery-ui-map.googlecode.com/svn/trunk/demos/jquery-google-maps-mobile.html
b)jQuery Google Maps プラグイン
http://labs.d-s-b.jp/plugins/jQuery/jQueryGoogleMaps/
https://github.com/dreamseeker/jQueryGoogleMaps
日本の方が開発していて、MITライセンスで公開されている。
地図表示時に、マーカーなどをJSONやXMLを外部から読み込んで表示することができるようになっている。
単に地図を表示するには便利そう。
ただ、mapにアクセスする手段がないので、後からマーカーを追加したらりイベントを追加するようなことはできなさそう。
#誰か知ってたら教えてください。
c) gmaps.js
http://hpneo.github.com/gmaps/
MITライセンスで公開されている。
すごく使いやすそうなプラグイン。
gmaps.jsで作ったインスタンスを別の変数に保持しておく必要がある。
APIやサンプルがうまくまとまっている。
http://hpneo.github.com/gmaps/examples.html
d)gmap3
http://gmap3.net/
GPL v3 ライセンスで公開されている
mapはプラグイン内で管理していて、getアクションで取得できる。マニュアルがちょっとわかりずらい印象。
$("#map").gmap3()に渡す連想配列で、動作を指定する。
addressで住所を指定すると、位置情報を変換する機能が内包されているなど、 高機能だけど指定の仕方はくせがある。
そのままGoogle Map APIを叩くか、プラグインを使って見るか悩みどころ。
特定ポイントの地図を表示するだけならプラグインを使った方がシンプルに記述ができそうだけど、いろいろと自分で処理を書き始めると、使っても使わなくても変わらなくなってきそう。
別にライブラリを読み込むこと考えるとなくてもいいかなぁと。
2012年10月19日金曜日
MySQLのバックアップ・リストアなど
MySQLでのバックアップ、リストアの調べたのでなんとなくメモ。
(1)DBの状態を確認
use データベース名;
status;
(2)ファイルシステムに配置しているのSQLファイルをを実行
mysqlプロンプト上で、sourceコマンドを利用
mysql > source ファイル名;
ファイル名は絶対パス指定、相対パス指定が使える
(3)バックアップ
mysqldumpコマンドを利用する
a)全バックアップ
$ mysqldump -A -u root -p パスワード --opt > ダンプファイル名
b)特定データベース名を指定してバックアップ
$ mysqldump データベース名 -u root -p パスワード --opt > ダンプファイル名
--optは全部入り
個別に指定することもできる
--add-drop-table dropテーブルを追加
ダンプ時の文字コードを指定する場合は
--default-character-set=文字コード
c)データのみをダンプ
mysqldump -u ユーザ名 -e -c -t -p foo_db > dump.sql
d)指定条件(WHERE句の形式で指定)のデータたけをダンプ
mysqldump -u ユーザ名 --where="条件" -p データベース名 テーブル名 > ファイル名
(4)リストア
バックアップしたファイル名を標準入力から入れる
a)全データリストア
$mysql -u root -p パスワード < ダンプファイル名
b)特定データベースに設定
$mysql -u root -p パスワード データベース名 < ダンプファイル名
(5)select結果をファイルに出力
a) mysql上で
select * into outfile 'ファイル名' from テーブル名;
CSVで出力する場合は fields terminatedでセパレータに,を指定
select * into outfile 'ファイル名' from テーブル名 fields terminated by ',';
b) コマンドライン上で
$ mysql -e "select * from テーブル名" -u ユーザ名 -p データベース名 > ファイル名
(6)ファイルを取り込み
load data infile 'ファイル名' into table テーブル名;
CSVを取り込む場合は fields terminatedでセパレータに,を指定
load data infile 'ファイル名' into table テーブル名 fields terminated by ',';
登録:
投稿 (Atom)