※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

パーシステンス  (persistence) 永続性

プログラムがメモリ上に保持している変数やデータなどは、プログラムが終了すると失われ、再度起動しても同じ状態に戻ることはない。だがこれでは、例えばユーザーが入力したデータや設定などが失われてしまい、後で作業を継続することができない。そこで、再度起動しても以前と同じ状態を回復できると便利である。これを実現する機能のことをパーシステンス(永続性)という。

永続性を実現するにはいろいろな方法があるが、プログラムの終了時に「状態を保存」しておいて、次回の起動時に「状態をロード」するという方法が一般的である。このような機能は非常に基本的なものなので、ライブラリにおいて実装されていることが多い。また、データの格納やアクセスをデータベースに対して行い、データベースを使ってパーシステンス(永続性)を実現するという方法もある。

このほかにもパーシステンス(永続性)は、Webサイトにおけるセッションの同一性管理などでも利用されている。一般にWebサイトには複数のWebサーバ・マシンが存在し、それぞれのサーバの内部には多くのプロセスやスレッドが存在している。ユーザーがWebサイトに接続するときに使われるHTTPプロトコルでは、どのサーバのどのスレッドにするかは、HTTPのGET要求ごとに毎回動的に変わる可能性がある。だが同じユーザーからの一連の接続要求であることを認識していないと、例えば買い物バスケットの内容が消えてしまったり、他のユーザーのものと混同してしまったりする。このような事態を防ぐには、URLやHTTP Cookie、IPアドレス、GETコマンドのパラメータなどから同一のセッションであることを判断し、処理する必要がある。このように、HTTPセッションの同一性を保証することをパーシステンス処理(永続性処理)などという。

|