java - mongodb配合redis缓存有没有成熟的方案?
怪我咯
怪我咯 2017-04-17 17:35:48
0
3
761

业务系统采用了Mongodb,现在想针对部分数据用redis进行缓存优化。
原来看到过一个mongoose-redis-cache:https://github.com/conancat/mongoose-red...,我理解它相当于建立一个查询语句和查询结果的键值对,但这种情况下,如果数据库业务改变后是无法同步到缓存的。想请教下各位有没有其他方案?

怪我咯
怪我咯

走同样的路,发现不同的人生

全員に返信(3)
巴扎黑

spring-data を使用すると良いでしょう。 mongodb と redis があり、mongodb を操作するには spring-data-jpa を直接使用するのが便利で速いです。さらに、Spring にはキャッシュアノテーションがキャッシュ可能であり、キャッシュに自動的に保存できます。
スプリングデータアドレス

いいねを押す +0
小葫芦

redis と mongo はデータを別々に処理することをお勧めします。まずmongoからデータを取得して、それをredisに設定します。使用した mongoose-redis-cache は将来的には拡張性が低く、バグを見つけるのは簡単ではないようです

いいねを押す +0
左手右手慢动作

私は js についてあまり詳しくないので、あなたが指定した接続コードを簡単に調べました。
1.mongoose-redis-cache: これは、mongo の前に redis の層をラップするのと同じです。クエリステートメントがキャッシュされている、
key = [prefix, collectionName, hash].join ':'
Use prefix、collName、およびクエリステートメントを使用して Redis でキーを生成し、最初にredis クエリの結果; そうでない場合は、Mongo のクエリ結果が最初に redis を返し、タイムアウトを設定して、コールバックを呼び出します。2. 件名のように、「mongoose-redis-cache はステートメントをキャッシュします。ビジネスが変更された場合、キャッシュに同期することはできません。」という場合は、これについて心配する必要はありません。使用可能なキャッシュには、通常はタイムアウトを設定することによって設定されるデータの有効性が確実に考慮されます。 redis をバックフィルするときにタイムアウトが設定されるコード。
リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート