业务系统采用了Mongodb,现在想针对部分数据用redis进行缓存优化。原来看到过一个mongoose-redis-cache:https://github.com/conancat/mongoose-red...,我理解它相当于建立一个查询语句和查询结果的键值对,但这种情况下,如果数据库业务改变后是无法同步到缓存的。想请教下各位有没有其他方案?
走同样的路,发现不同的人生
spring-data を使用すると良いでしょう。 mongodb と redis があり、mongodb を操作するには spring-data-jpa を直接使用するのが便利で速いです。さらに、Spring にはキャッシュアノテーションがキャッシュ可能であり、キャッシュに自動的に保存できます。 スプリングデータアドレス
redis と mongo はデータを別々に処理することをお勧めします。まずmongoからデータを取得して、それをredisに設定します。使用した mongoose-redis-cache は将来的には拡張性が低く、バグを見つけるのは簡単ではないようです
私は js についてあまり詳しくないので、あなたが指定した接続コードを簡単に調べました。 1.mongoose-redis-cache: これは、mongo の前に redis の層をラップするのと同じです。クエリステートメントがキャッシュされている、key = [prefix, collectionName, hash].join ':'Use prefix、collName、およびクエリステートメントを使用して Redis でキーを生成し、最初にredis クエリの結果; そうでない場合は、Mongo のクエリ結果が最初に redis を返し、タイムアウトを設定して、コールバックを呼び出します。2. 件名のように、「mongoose-redis-cache はステートメントをキャッシュします。ビジネスが変更された場合、キャッシュに同期することはできません。」という場合は、これについて心配する必要はありません。使用可能なキャッシュには、通常はタイムアウトを設定することによって設定されるデータの有効性が確実に考慮されます。 redis をバックフィルするときにタイムアウトが設定されるコード。 リーリー
spring-data を使用すると良いでしょう。 mongodb と redis があり、mongodb を操作するには spring-data-jpa を直接使用するのが便利で速いです。さらに、Spring にはキャッシュアノテーションがキャッシュ可能であり、キャッシュに自動的に保存できます。
スプリングデータアドレス
redis と mongo はデータを別々に処理することをお勧めします。まずmongoからデータを取得して、それをredisに設定します。使用した mongoose-redis-cache は将来的には拡張性が低く、バグを見つけるのは簡単ではないようです
私は js についてあまり詳しくないので、あなたが指定した接続コードを簡単に調べました。
1.mongoose-redis-cache: これは、mongo の前に redis の層をラップするのと同じです。クエリステートメントがキャッシュされている、
key = [prefix, collectionName, hash].join ':'
Use prefix、collName、およびクエリステートメントを使用して Redis でキーを生成し、最初にredis クエリの結果; そうでない場合は、Mongo のクエリ結果が最初に redis を返し、タイムアウトを設定して、コールバックを呼び出します。2. 件名のように、「mongoose-redis-cache はステートメントをキャッシュします。ビジネスが変更された場合、キャッシュに同期することはできません。」という場合は、これについて心配する必要はありません。使用可能なキャッシュには、通常はタイムアウトを設定することによって設定されるデータの有効性が確実に考慮されます。 redis をバックフィルするときにタイムアウトが設定されるコード。
リーリー