spring-data-redis を使用するバックエンド プロセスがあります。retwis cloneと同様に、StringRedisTemplateを使用します。Digital Ocean ドロップレットで約 3 ~ 4 時間実行した後、不思議なことに新しいキーの保持が停止しました。私のログは、私の redis 永続化コードが呼び出されていることを示しています。Spring-data-redis/jedis レイヤーで、エラーの兆候もなく、どういうわけか動作を停止します。
これまでに行ったトラブルシューティング
私は十分なラムを持っています。Redis は 6 MB しか使用していません。
バックエンド プロセスを再起動したところ、すべてが再び期待どおりに機能し、キー値が挿入されています。
redis-server.log を確認しました。spring-data-redis/jedis が失敗するという私の仮説と一致しています。最後のキーが挿入されたと同時にエントリが停止しました。2015 年 8 月 9 日のエントリは、不思議なことに失敗したときのものです。翌日、2015/08/10 のエントリは、私がそれを再開したときのものです。
[2267] 09 Aug 19:20:51.094 * 1 changes in 300 seconds. Saving... [2267] 09 Aug 19:20:51.096 * Background saving started by pid 6611 [6611] 09 Aug 19:20:51.348 * DB saved on disk [6611] 09 Aug 19:20:51.350 * RDB: 4 MB of memory used by copy-on-write [2267] 09 Aug 19:20:51.397 * Background saving terminated with success [2267] 09 Aug 19:25:52.043 * 1 changes in 300 seconds. Saving... [2267] 09 Aug 19:25:52.045 * Background saving started by pid 6706 [6706] 09 Aug 19:25:52.417 * DB saved on disk [6706] 09 Aug 19:25:52.418 * RDB: 4 MB of memory used by copy-on-write [2267] 09 Aug 19:25:52.451 * Background saving terminated with success [2267] 10 Aug 05:01:38.204 * 1 changes in 300 seconds. Saving... [2267] 10 Aug 05:01:38.206 * Background saving started by pid 12252 [12252] 10 Aug 05:01:38.647 * DB saved on disk [12252] 10 Aug 05:01:38.648 * RDB: 6 MB of memory used by copy-on-write [2267] 10 Aug 05:01:38.716 * Background saving terminated with success [2267] 10 Aug 05:06:39.054 * 1 changes in 300 seconds. Saving... [2267] 10 Aug 05:06:39.055 * Background saving started by pid 12263 [12263] 10 Aug 05:06:39.193 * DB saved on disk [12263] 10 Aug 05:06:39.194 * RDB: 6 MB of memory used by copy-on-write [2267] 10 Aug 05:06:39.258 * Background saving terminated with success [2267] 10 Aug 05:11:40.082 * 1 changes in 300 seconds. Saving... [2267] 10 Aug 05:11:40.084 * Background saving started by pid 12272 [12272] 10 Aug 05:11:40.342 * DB saved on disk [12272] 10 Aug 05:11:40.344 * RDB: 6 MB of memory used by copy-on-write [2267] 10 Aug 05:11:40.385 * Background saving terminated with success
私自身のアプリケーション ログには例外はありません。spring-data-redis にも jedis にもロガーはありません。そのため、例外はスローされず (キャッチしていないため)、ログ出力もありません。どうやら spring-data-redis に対してリクエストが行われており、spring-data-redis は例外なく私のコードに戻っています。
トラブルシューティングの次のステップは?
spring-data-redis とその基盤となる redis ドライバー "Jedis" には、ごくわずかな量のログが記録されます。2 のログを有効にしました。問題が再発した場合に役立つかどうかを確認します。
これをデバッグすることも検討しましたが、この時点で別のドライバー/プロジェクトに切り替えるだけでよいと思います。