問題タブ [session-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
893 参照

java - HibernateでmappedByを使用してコレクションタイプの関係を更新するにはどうすればよいですか?

私には2つの関連するエンティティがあります

空の棚(本がない)をフェッチし、新しい本を作成して棚に保持してから、その棚を再度フェッチすると、その本のコレクションは空になります。デバッグログを使用して実行すると、Hibernateが2回目にシェルフを検索せず、ブックコレクションが更新されたことを知らないセッションキャッシュからシェルフを返すだけであることがわかります。

どうすれば効果を取り除き、シェルフの更新された状態を取得できますか?

ありがとう、
Artem。

0 投票する
3 に答える
4449 参照

hibernate - セッションレベルでのみ休止状態のクエリキャッシュを有効にする方法は?

1 つのスレッドで複数回呼び出されるクエリがあり、そのスレッド (またはスレッドごとに 1 つのセッションを使用しているため、そのセッション) に対してそのクエリ (およびその結果) をキャッシュしたい場合はどうすればよいですか?私がする ?

注: 私の第 2 レベルのキャッシュはオンになっていますが、主に session.get(...) に使用されます。しかし、クエリキャッシュには使用したくありません。これは、スレッド ( / セッション ) の間だけ存続する必要があるためです。

ありがとう

0 投票する
3 に答える
580 参照

c# - 親クラスの ID に基づく NHibernate キャッシュ オブジェクト

Animal と Dog のタイプについては、次の定義があります。オブジェクトの ID は AnimalID であることに注意してください。

データベースに次の情報があるとします。

最初に、OwnerID = 1 の Dog をクエリします。同じセッションで、OwnerID = 2 の Dog をクエリします。NHibernate のセッション キャッシュのため、2 番目のクエリは、OwnerID = 1 で IsStrong = True の Dog オブジェクトを返します。 OwnerID = 2 および IsStrong = False の Dog オブジェクトを返す必要があります。

NHibernate は ID (主キー) 列によってオブジェクトを自動的にキャッシュするため、Dog を 2 回目に要求すると、同じキーを持つオブジェクトを取得することになります。オブジェクトで ISession.Evict() を呼び出すことでこの問題を解決できますが、これはハックのようです。

より良い提案はありますか?

0 投票する
3 に答える
6644 参照

hibernate - Hibernate クエリ キャッシュ - 第 2 レベルのキャッシュにないオブジェクトの場合 - 危険ですか? 使える?悪い習慣?

この質問に関連する

前提:

これらは、私の読書、経験、理解に基づく私の仮定です。間違っている可能性があります。間違っている場合は、コメントしてください。質問を編集します。

  • クエリ キャッシュは、主に第 2 レベルのキャッシュと共に優れています
  • クエリ キャッシュは、クエリ + パラメータの識別子の結果をキャッシュします
  • データベースが変更され、キャッシュに反映されていない場合、クエリキャッシュは危険です

質問:

第 2 レベルのキャッシュにないオブジェクトがあります。不適切なプログラミングまたはその他の制約により、オブジェクトをロードするコードが同じ休止状態セッションで複数回呼び出されています。検索はHQL検索クエリを使用しています。

クエリ キャッシュを追加する前に、上記のコードが同じ Hibernate セッション内で N 回呼び出された場合、データベースへのヒット数は N 回でした。

次に、クエリ キャッシュを追加するとどうなるかを確認したかったのです。

クエリキャッシュを追加したとき、同じセッション中に、休止状態がデータベースに N 回ヒットせず、セッションごとに 1 回だけヒットすることに気付きました。

  1. したがって、私の最初の仮定は、Hibernate が最初にセッション キャッシュを検索し、次に 2 番目のレベルのキャッシュを検索するということです。この仮定は正しいですか?
  2. Fooまた、第 2 レベルのキャッシュにないオブジェクト ( ) がデータベースで変更された場合、クロス セッション スコープのクエリ キャッシュが間違った識別子を返すため、間違ったオブジェクトが返されることも想定しています。あれは正しいですか?
  3. 2L キャッシュされていないオブジェクトであっても、不変の情報を含むクエリにクエリ キャッシュを使用することは、良い習慣であると言えますか? (例: where 句に常に同じ結果を返す条件が含まれるクエリ。例: "select p.ser_num where p.id = ?" ser_num と id の組み合わせが一度作成されると変更されない場合)

ところで、関連する質問では、クエリ キャッシュはセッション キャッシュ スコープでは機能しないと主張されています。私はその主張を誤解していますか、それとも何か他のものですか?

0 投票する
1 に答える
225 参照

asp.net - ASP.NET アプリケーション/セッション キャッシュはアプリケーションの再起動を強制しますか?

これを何よりも議論したい。

それで、私は www.utopiapimp.com にウェブサイトを持っています。現在、1 日あたり 100 万ページ ビューを超えています。このサイトには、常に変化する大量の動的データがあります。「生きた株式ティッカー」と考えてください。ただし、オンライン Web ゲームの場合です。私は深い障害に遭遇しました。

Web アプリの起動時にデータベースからいくつかの静的アイテムをロードしますが、その後、ユーザーがログインするたびに、そのユーザーに対して 15 の db 呼び出しを行い、それらの 15 の db 呼び出しからオブジェクト全体をキャッシュに入れます。私のサーバー モニターでは、4 GB の RAM がゆっくりと 2 GB しか増えていないことがわかります。その後、何が起こるかわかりません。

1 コア CPU VPS は、永遠に 25% から始まります。場合によっては、処理が 50% を大幅に超えることがあります。しかし、約 20 分後、2GBS または RAM が突然約 400mg まで低下し、回復することはありません。

これを何度でも繰り返すことができます。何が原因なのかはわかりませんが、細心の注意を払ってウェブサイトとコードを徹底的にスキャンしましたが、実際のハングアップは見つかりませんでした。キャッシュにアクセスして、キャッシュに多くのものを保存しすぎているのではないかと考え始めましたが、本当に結論には達していません。

そのシナリオを聞いた後、誰かが私が見逃しているかもしれない何かを提案できますか? もしかしてアプリがクラッシュ?そして、受けるヒットの量で再起動するのに苦労し、クラッシュし続けますか?

私はこの問題にかなり悩まされており、解決策が見つからないようです。

より良いvpsにアップグレードすることでうまくいくかもしれませんが、同じ問題を見つけるためにほとんどアップグレードしたくありません.

この 1 週間、私はこれに苦労しており、私のユーザーは本当に解決策を求めているので、ヘルプ pr の提案は素晴らしいものです。

編集

ホスティング会社に連絡し、返事を待っています。他の提案やアイデアは大歓迎です...

本当にありがとう!

0 投票する
1 に答える
3877 参照

database - Hibernate HQL がセッション キャッシュにのみヒットする

HQLクエリがどこから情報を取得するかを理解するのに苦労しています。私のプロジェクトは異なるスレッドを使用しており、各スレッドはデータベースに対して読み取り/書き込みを行います。スレッドは Session オブジェクトを共有しません。代わりに、HibernateUtilセッションを作成するクラスを使用しています。

最近まで、セッションを閉じたのは書き込み後だけで、読み取り後ではありませんでした。オブジェクトへの変更はすぐにデータベースに表示されます、他のスレッド (書き込みに使用されたものとは異なるセッション オブジェクト) で読み取ると、古い情報が取得されます。読み取りと書き込みは常に異なるスレッドで行われます。つまり、異なる Session オブジェクトと異なるセッション キャッシュを意味します。

HQLの代わりにを使用することで、セッション キャッシュではなく、常にデータベース (または第 2 レベルのキャッシュ) をターゲットにしているといつも思っていましたCriteriaが、コードをデバッグしているときに、HQL がセッション キャッシュ内のオブジェクトを探していることが明らかになりました。古い時代遅れのオブジェクトを取得しました。

HQL常にデータベースをターゲットにしていると仮定したのは間違っていましたか? または、少なくとも第 2 レベルのキャッシュですか?

PS: 私は 1 つのSessionFactoryオブジェクトのみを使用しています。

0 投票する
1 に答える
322 参照

asp.net-mvc-3 - ASP.NET MVC Webアプリケーション、GoDaddyでホストされ、認証に夢中

私が開発したこのウェブサイトがあります。変な振る舞いです。ログオンしましたが、ログアウトできないようです。ログアウトした後も、さまざまなブラウザやシークレットモードでも、どのように維持できるかわからないセッションがあります。

最も奇妙なことは、ブラウザでそれを開くと、同じセッション状態になることです。あなたはそれで何もすることができません。しかし、それはそこに突き出ています。

何が起こっている?

このページに移動すると、ログインしているユーザーが表示されます。[追加]をクリックすると、資格情報の入力を再度求められます。無限のループのように。

http://krninstitute.com/krnitech/Forms

次に、このページに移動すると、ログインしている他のユーザーが表示されます。ページの最後に移動します。

http://krninstitute.com/krnitech/Gallery

この質問には、これらの外部リンクが必要です。

しかし、念のためにここに画像があります:

ロギングなしのingognitoウィンドウのCookie

ここに画像の説明を入力してください

ここに画像の説明を入力してください

編集1:

すべてのリクエストがセッションCookieで終わる原因は何ですか?キャッシュを実装していません。最近のGoDaddyのクラッシュと関係がありますか?

編集2:

質問は1です。誰がアプリケーションにログインしているかをどのように確認できますか?私はそのような機能を実装していません。そして2.同じブラウザウィンドウから2人がログオンしているのはどうしてですか?

0 投票する
1 に答える
398 参照

distributed-caching - apache karaf コンテナ間で HTTP セッション レプリケーションを行う方法は?

分散 apache karaf OSGi コンテナーで実行されている Web アプリ間で http セッション レプリケーションを行う方法を知っている人はいますか?

この投稿http://karaf.922171.n3.nabble.com/Pax-web-failover-LoadBalancing-td4029552.htmlで、Jean-Baptiste Onofré は、Apache セラーではまだ利用できないと述べています。この機能はまだどこでも利用できますか?

私は一日中グーグルで検索していましたが、オプションが見つかりませんでした - 助けてくれてありがとう。

スティーブ

0 投票する
7 に答える
17177 参照

python - 「属性 '_session_cache'」を探しているDjangoプロジェクト

したがって、データベースを使用しない Django プロジェクトがあります (「DATABASES」設定はコメントアウトされています)。将来、データベース機能が必要になる可能性があるため、Django を使用することにしました。とにかく、私は tbhis プロジェクトのオンとオフを 2 か月間問題なく行ってきました。Linux Mint を実行していますが、python manage.py runserverこれまでコマンドの使用に問題はありませんでした。

さて、今日はアプリを起動し、問題なくローカル サーバーを起動しました。次に、ブラウザでアプリを開こうとしたところ、かなりひどいエラー メッセージが表示されました。

最後に作業して以来、アプリには触れていませんが、その時は正常に機能していました。私はキャッシュを実装しておらず、データベースを使用していないので、これが何について話しているのか本当にわかりません... Djangoに精通していて、これが何であるかもわからないいくつかの大学に尋ねました。何か案は?また、オンラインの投稿のアドバイスに従って DATABASES を空の dict {} に設定しようとしましたが、効果はありませんでした。少し途方に暮れています。

編集: このプロジェクトに最後に触れて以来、暫定的に言及する必要があると思いましたが、データベースを使用する新しい Django プロジェクトを開始してセットアップしました。このプロジェクトが何らかの形でキャッシュされており、現在取り組んでいるプロジェクトが壊れている可能性はありますか?

EDIT2: この webapp は現在http://mrcagney-maps.comで稼働しており、動作していることを指摘しておく必要があります。コードはまったく同じです (最後にサーバーにプッシュしてから変更していません)。本当に奇妙です。

0 投票する
1 に答える
810 参照

caching - ユーザーセッションopenldapまたはredisを保存するのに理想的な場所は何ですか

ユーザーを格納するopenLDAPを使用しています。セッションのユーザーの詳細を追跡する必要があるため、ユーザー セッションの詳細をどこに保持する必要がありますか。ユーザーセッションを保存する理想的な場所は?

ありがとうございました...