オブジェクトを以降のリクエストでも、他の利用者にも使えるようにすること。

永続化でやること Edit

実装案。

†永続化での上書きは追加で[?] Edit

†永続化での削除も追加で[?] Edit

†古いファイルは消せるときに消す[?] Edit

†排他的ロック/共有ロック[?] Edit

†永続化のキー[?] Edit

†シリアライズが必要[?] Edit

†永続化クラスでの検索[?] Edit

検索機能とは別の、低いレベルの話。

キューイング Edit

永続化を使う側の一つ。永続化からすると使われ方の例。
†キューはModelに出すもの
†キューの永続化

永続化システムはロックとパフォーマンス低下を防ぐ方法。
※通常の編集1回で1回のロックとファイル削除が必要。でもすぐにでなくていい。やることの分散。編集時のロックをいつでもいいようにしてパフォーマンス低下防止。しかもロックは非ブロックですぐタイムアウトにしていい。待たない。

全体複製をしたくないなら Edit

ちょっと更新するだけで全体を複製することになる。そこで時間がかかるなら逆効果。
全複製は1ファイルで1エントリー全体をまかなえるということ。複数ファイルで1エントリーだったら?
→関連ファイルを全て読み込んでマージすればいい。この場合エントリーに追記するだけなら複製不要。参照は新しい順に、エントリー1つ分が揃うまで、ファイル参照をして、得たデータを全てマージ。
によってはマージ不可能。その場合は全複製を要する。条件が多すぎて使いにくい。

それよりも1エントリーをDictionaryの1エントリーに見立てて、フォルダーをDictionaryにすればいい。
フォルダーをネストすればDictionaryのネストのようになる。キー→キー→値といったアクセスが可能に。

†内部名と外部名[?] Edit

これをどう記録して参照を速くするか。
:i/ページ名インデックス
フォルダーをDictionaryとして使う方法で。