0

codeigniter で開発されたサイトがあります。
ページ検索には、コンパイル時に CURL を使用してサーバーにリクエストを送信し、xml を返すフォームがあります。
このクエリと印刷日付は、多くのサーバーでより多くのクエリを作成する必要があり、この時間が必要であるため、約 15 秒です。
しかし、問題は次のとおりです。要素のリストがあり、要素をクリックすると、要素のデータを取得するためのクエリが作成されます。
しかし、戻るをクリックするか、検索したすべての要素に戻るためにクリックすると、15 秒かかる別のクエリを作成したくありません。

要素を検索すると、get リクエストがあり、次のようなリンクがあります。

http://myurl/backend/hotel/hotel_list?nation=94&city=1007&check-in=12%2FApr%2F2013&check-out=13%2FApr%2F2013&n_single_rooms=1&n_double_rooms=0&n_triple_rooms=0&n_extra_beds=0

ページをロードすると、より多くの要素を含めることができます。私はこのような単純なリンクでこれのいくつかをクリックします:

http://myurl/backend/hotel/hotel_view?id_service=tra_0_YYW

このページに入ると、クエリを再作成せずに前の URL (最初の URL) に戻る必要があり、さらに数秒かかります。リアルタイムデータベースであり、1分または1秒ごとに変更されるため、結果をキャッシュできませんが、入力時にページ検索をキャッシュし、戻った場合に時間が2分未満の場合はキャッシュからリロードすることを考えました例。
これは良い方法ですか、それともコードイグナイターでこれを行うためのよりパフォーマンスの高い方法がありますか?
データが大きいため、セッションに入れることができません。

他の解決策は次のとおりです
。-ページをキャッシュします(ただし、毎分削除する必要があります)
-結果をキャッシュします(ただし、毎分削除する
必要があります)-sessionflashdataを作成します(ただし、大量のデータがあります)

ページを作り直さないように戻るときにブラウザを使用する方法はありますか?

ありがとう

4

1 に答える 1

1
  • キャッシュページ(ただし、毎分削除する必要があります)

codeigniterのページキャッシュ機能「$this->output->cache(1);」で簡単に実装できると思います。

  • 結果をキャッシュします (ただし、毎分削除する必要があります) それを実装するには、codeigniter のオブジェクト キャッシュ メソッドを使用する必要があります。

  • sessionflashdata を作成します (ただし、大量のデータがあります) セッションに大量のデータを保存することはお勧めできません。代わりに「データベースセッション」を使用すると、同様の方法を処理するのに役立ち、codeigniter には統合サポートがあります。

お役に立てれば。始めたばかりの場合は、あらゆる種類の codeigniter キャッシングについて詳しく読むことができます。

于 2013-04-12T18:16:07.430 に答える