無料ブログ「rentafree.net」の管理人ブログ

今朝の修正ですが・・・

今朝の修正ですが、
やっぱ間違えてたので再修正しました。
修正前の仕様が正しかったです。

サイトの更新時刻とキャッシュのタイムスタンプが同時だった場合、
キャッシュは無効になるようになっていたので、
修正前の仕様なら古いキャッシュが残ってしまう可能性は考えにくかったです。

ただ、
サイトの更新時刻もキャッシュも、
保存直前に時刻の取得をしていたので、
時刻取得から保存前の処理で秒がずれた場合に古いキャッシュが有効なものとして残ってしまう可能性があるので、
キャッシュの方は保存直前ではなく、全処理開始前の時刻を設定するようにしました。

キャッシュのタイムスタンプ関連を変更しました

先日キャッシュ周りの仕様を変更しましたが、
「キャッシュのタイムスタンプ=キャッシュ生成時刻」で、
サイトの更新時刻とキャッシュのタイムスタンプを比較するようにしていたので、
サイトの更新とキャッシュの生成が同時(1秒未満)に行われた場合、
確実に古いキャッシュが残ってしまったと思われます。
問題が生じる可能性が高いことに気づいたので修正しました。

今回の修正は、
「キャッシュのタイムスタンプ=サイトの更新時刻」としたので、
1秒未満に2回サイトの更新が行われ、
1回目の更新と2回目の更新の間にキャッシュが生成された場合にのみ古いキャッシュが残ります。
可能性はゼロではありませんが、
手動更新で1秒未満に2回サイトの更新を行うという事は不可能だと思いますので、
機械編集しない限りはありえないと思います。

ちなみに、前回の修正前の元々の仕様では、
更新フラグを建ててキャッシュ生成時にキャッシュ自体を削除していましたが、
元の仕様でも古いキャッシュが残ってしまう可能性はゼロではなかったと思います。