Apache::Session::Store::MySQL モジュール

by Hippo2000(2000/8/8)

日本語チョウ訳シリーズ Apache::Session::Store::MySQL モジュールなのです。



名前

Apache::Session::Store::MySQL - MySQLデータベースに永続データを格納する


概要

 use Apache::Session::Store::MySQL;

 my $store = new Apache::Session::Store::MySQL;

 $store->insert($ref);
 $store->update($ref);
 $store->materialize($ref);
 $store->remove($ref);

説明

Apache::Session::Store::MySQL はApache::Sessionの格納インターフェースを完全に満たします。セッション・データはMySQLデータベースに格納されます。


スキーマ

このモジュールを使うためには、'sessions'というテーブルに少なくともこれらのカラムが必要です:

 id char(32)     # またはセッションIDの長さだけ
 a_session text

このスキーマを作るために、mysqlプログラムを使って以下のコマンドを実行することが出来ます:

 CREATE TABLE sessions (
    id char(32) not null primary key,
    a_session text
 );

 

もし他のコマンドを使うのであれば、テーブルのIDカラムにユニークなインデックスを作るのを忘れないで下さい。


コンフィグレーション

このモジュールはデータベースに接続するときに使われるデータソース、ユーザ名、パスワードを知る必要があります。これらの値はオプションのハッシュ(Apache::Sessionドキュメントをご覧下さい)を使って設定することが出来ます。そのオプションは以下の通りです:

DataSource
 
UserName
 
Password
 

例:

 tie %hash, 'Apache::Session::MySQL', $id, {
     DataSource => 'dbi:mysql:database',
     UserName   => 'database_user',
     Password   => 'K00l'
 };

代りに既にデータベースにオープンされているDBIハンドルを渡すことが出来ます:

 tie %hash, 'Apache::Session::MySQL', $id, {
     Handle => $dbh
 };

作者

(原文のまま)

This modules was written by Jeffrey William Baker <jwbaker@acm.org>


参考資料

Apache::Session


ホーム Perlの小技 Apache::Session

ご意見、ご質問はこちらの掲示板で受け付けています。
またメールは河馬屋(Nifty)にお願いします。