«前の日記(2010-10-04) 最新 次の日記(2010-11-01)» 編集

ぱぱネット(仮)


2010-10-09 いまさらCGI::Session [長年日記]

_ [Linux][開発] CGI::SessionのTokyoTyrantドライバを作ったよ

需要があるとは到底おもえないが!(~_~)

一応公開します....tokyotyrant.pm。ライセンスはGPL2。

インストールはCPANあたりでCGI::Sessionをinstallした後で、 /usr/local/share/perl/5.10.0/CGI/Session/Driver(ディストリによって微妙に異なる)にtokyotyrant.pmという名前でコピーするだけです。

セッションの書き込み先としてttserverが必要です。

# ttserver -port 1980 /tmp/test.tch &

とかやって起動しておいて、Perlスクリプト側では、

my $ses = new CGI::Session("driver:tokyotyrant", $sid, {Host=>'localhost', Port=>1980});

とやれば、普通のCGI::Sessionと同じように使えるはずです。 あんまりデバッグしてませんが(汗;

_ [Linux][開発] なぜこんなものが必要か

セッション管理は、Webサービスを作るのに欠かせないもので、大半のフレームワークには内蔵されているものです。しかし独立性が高いもの(泥臭くてもすぐ組み込めるもの)というと、あまり選択肢がないように思います。

その中でPerlのCGI::Sessionは「泥臭い」部類のセッション管理モジュールで、使ってる人が少ないのか、対応ドライバは、file(名の通りローカルファイル)、バークレイDB(これもファイル)、SQLite3(これもファイル)、MySQL、PostgreSQL、で、今日のAppサーバが何台もあるorログインサーバとWebサーバを分けたい、なんて用途にはMySQLとPostgreSQLしか選択肢がなかったのです。

TokyoTyrantは、パーマネントかつ超高速が信条のデータベースサーバで、tch拡張子のハッシュDBファイルに書き込むのが普通ですが、不揮発でもよければADB(memcachedみたいなメモリDB)が選べるのも魅力ですわな。

まあmixiクラスの大規模サービスでない限り不要 かもしれませんが、とりえあずKVSにセッション保存することは簡単にできますよ〜という話。

本日のツッコミ(全2件) [ツッコミを入れる]
_ 岡部典孝 (2010-10-10 07:17)

素敵なモジュールですね。
どちらかというとkyototycoon向きかもしれませんが(expireもあるし)
今はTTのほうがすぐに作れていいですね。

_ (2010-10-16 20:36)

いやどうも。お察しの通り数日の運用で4万件とか溜まりましたので
ttp://linux.papa.to/image/ttexpire.txt
とかやってCGI.pmのセッション情報から最終更新日を取り出して
消すスクリプトを定期的に動かすようにしました。
非効率ですな('A`)


2001|04|
2006|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|03|04|05|10|

[BANNER]
このサーバーをもう12年も維持しているかと思うとめまいがしますよ。
ツッコミ機能は、ハンドル名が完全日本語じゃないと登録できません。
また、本文にURLが含まれていても登録できません。
いずれもSPAM対策です。
[Panda Papanda]
2010年
10月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

[Papanda]  [Kuma]  [Tomorin]  [Iron]  [Eiza]  [Dokkin]  [Honya]  [Zyou]  [Tsuyo]  [Bike]  [KoeBBS]  [Chukei]  [portal]  [tvmatome]  [KaoPaku] 

訪問者数:(11778+2560143)