2007年10月05日
キーのエイリアスが効くmemcachedみたいなのってないんだろうか
memcachedって、恥ずかしながらいまだに使ったことないんですけど、 キー ⇒ 値 が1対1対応のメモリハッシュみたいなもんなんですよね?
複数のキーに対して、単独の値を割り当てるような使い方ができる、memcachedみたいなのってないんでしょうか?
全てのキーからの参照が消えれば、値も解放してくれる、みたいな。
というのも、以前書いた勝手位置情報エンタメサイトでセッション詐称のために不正される問題、Ceekさんがトラックバック下さったワンタイムセッション方式をもうちょっと改良すればかなりの偽装を防げる感触を得ているのだけれど、いかんせんワンタイムセッションなので、ユーザ数ではなくアクセス数の数だけセッションが必要、ということになってしまう。
(※:Ceekさんの案だと、2段階以上の「戻る」操作を許さないようにしているため、見た目ワンタイムセッションだけど実際にはユーザ数だけのセッションしか存在しない形になるけれど、私は「戻る」の複数操作を許したいので、本当にアクセスの数だけのセッションが必要になる)
でも、セッションの有効/無効を制御するために複数のセッションを用意するわけだけど、セッションの中身はアクセス毎に違うわけではなく同一ユーザでは同じになるわけなので、セッションキー毎に中身を保持するとすげえメモリの無駄になるように思う。
実際今取り組んでいるサービスでも、ユーザ数でのセッションなら1日数万とかのオーダだけど、アクセス数でのセッションなら1日下手したら100万とかのオーダになるので、サービスのしょぼい規模に比べてあり得ねえ!とか思う。
なので、複数のキーに対して同じメモリ空間を割り当てるようなmemcachedみたいなのがあればいいなと思うんだけど...。
ないのかなあ。
memcachedで覚えさせる値自体に、エイリアス先のキーの値を入れればいいのかもしれないけれど、
- 元々セッションに覚えさせるデータ量自体が、ユーザの端末IDと機種名程度でセッションIDとどっこいどっこいなので、そんならもうデータ覚えさせた方がいいわな
- それに直接複数キーが同一メモリに割り当てられてるのに比べて、キー探索⇒メモリアクセス⇒キー探索⇒メモリアクセスと多段処理になるので負荷もその分上がりそうだし
- 参照切れの管理ができまへん
とか思うので、意味ないかなと。
なんかいいソリューションないでせうか。
![[ここギコ!]](http://kokogiko.net/logo.png)



・「定義できない」とのたまうものを自説根拠の説明の中で延々と使う不誠実(笑)(むにゅう!)
・絵文字標準化でのキャリア批判に思うこと(kokogiko)
・文化は変わっていくのは当たり前だからこそ、今問われているのはリアルタイムの選択(むにゅう!)
・絵文字標準化でのキャリア批判に思うこと(ひゅ〜)
・絵文字標準化でのキャリア批判に思うこと(kokogiko)
・文化は変わっていくのは当たり前だからこそ、今問われているのはリアルタイムの選択(kokogiko)
・文化は変わっていくのは当たり前だからこそ、今問われているのはリアルタイムの選択(むにゅう!)
・文化は変わっていくのは当たり前だからこそ、今問われているのはリアルタイムの選択(むにゅう!)
・文化は変わっていくのは当たり前だからこそ、今問われているのはリアルタイムの選択(むにゅう!)