2016-07-09 34 views
0

Java関数を実行していて、約1Mサイズのjsonを生成します。 2分後に次の電話の入力にjsonが必要です。私はデータベースにjsonを保存することができますが、データベースの保存に費やされた時間は私には受け入れられません。このデータをメモリに保存して、次のコールに使用できますか?私もnode.jsからこのデータを読む必要があります。どうすればこの仕事をすることができますか?データベースに保存するのではなく、データをメモリに保存する

+0

ノードでlru-cacheを使用して有効期限を設定できます。 https://www.npmjs.com/package/lru-cache – Jain

+0

親愛なる@fullOfQuestions、親切に答えの1つを受け入れる –

答えて

1

hazelcastは、キャッシングの使用例を解決するAPIを提供するJavaライブラリです。などのNode.js用

はここに私の答えhttps://stackoverflow.com/a/36704734/27563

が私をしてみましょう見つけてくださいケースを使用し、通読し、キャッシュを通じて書き込み、エントリのための立ち退き、TTL - それは、キャッシングのユースケースに適した機能を備えたJavaコレクションを拡張しますあなたは何か質問がある場合は知っている。

ありがとう

2

なぜアプリケーションとデータベースの間に永続的な非同期キューを使用しないのですか。このようにして、永続的な操作を忘れ、できるだけ早く結果を提供します。

オブジェクトをメモリに保持したい場合は、最善の策はInfinispanやHazelcastのようなものでしょう。 Infinispanは、キャッシュ用の独自の永続ストアと優れたデータベース統合を提供しています。もう片方のHazelcastはIn Memoryキー値ストアとして機能しますが、いくつかの永続性も簡単に実装できます。ヘーゼルキャストは非常に簡単に始めることができ、学習曲線はそれほど急なものではありません。

このインフラストラクチャの良い点は、データがデータベースと同期していることを安全に保つことができることです。たとえば、保持する特定のオブジェクトのバックアップの数を設定できます。これらのバックアップは、構成方法に応じて非同期または同期で作成されます。データをデータベースに送信することもできます。もし永続性が強い要件であれば、おそらくInfinispanはこれに関してより優れています。

私はあなたの記事を二度目に読んでいましたが、キャッシングに関してはもっと簡単なものが必要かもしれないことに気付きました。バックアップ機能を持たないローカルキャッシュが必要な場合は、EHCacheを利用してください。

関連する問題