2016-08-31 8 views
0

Springセッションでセッション複製サービスとしてのみ使用する場合、Redisスナップショットを使用する必要がありますか?私はRedis Persistenceについて読んだが、「永続性」はバックアップを意味するだけであり、完全には必要ではないと思われる。rdbスナップショットを使用しないSpringセッションRedisの使用

何度も何度も私がFLUSHALLに電話をかけても、何らかの形で古いセッションを再読み込みすることに問題があります。私は私のRDBファイルから疑いがあります。

メモリとしてのみすべてを定義できますか? RDBファイルを使用するための信頼性/パフォーマンス上の利点はありますか?

答えて

0

私はFLUSHALLと何度も何度もマットを使用しないという問題があります。これは何とか古いセッションを再ロードし続けます。私は私のRDBファイルから疑いがあります。

FLUSHALLまた、RDBファイルからデータを削除します。 FLUSHALLを呼び出した後、データが他のプロセスによって書き込まれる可能性があります。

すべてをメモリとしてのみ定義できますか?

はい、設定ファイルを使用してdbをディスクに保存することを無効にできます。デフォルトでは、Redisは設定ファイルにいくつかのセーブディレクティブを指定してデータをディスクに保存します。たとえば:

save 900 1 
save 300 10 
save 60 10000 

保存を無効にするには、ちょうどこれらのディレクティブを保存したり、空の保存指示(すなわちsave "")を追加コメント。

# save 900 1 
# save 300 10 
# save 60 10000 

また、あなたは、設定ファイルでAOFの永続ログを無効にすることができます

appendonly no 

全くRDBファイルを使用するには、任意の信頼性/パフォーマンスの利点がありますか?

信頼:Redisのは、ディスクにデータを保存しているので、あなたがRedisのを再起動すると、あなたは、データを復旧することができます。ただし、Redisが誤ってダウンした場合、設定ファイルのセーブディレクティブに依存してデータが失われる可能性があります。

パフォーマンス:特にメモリ内に大きなデータを持つRDB永続性を使用している場合はパフォーマンスが低下します。

詳細はRedis Persistenceからits websiteまでです。

+0

ありがとうございます!ファイルからデータを削除するflushallに関するドキュメントはどこにありますか?それを見つけることができませんでした。 – odedia

+0

'flushall'はすべてのデータベースのすべてのキーを削除します。保存されたrdbファイルからもすべてのデータを削除する必要があります。さもなければ、メモリ内のデータを削除するだけでは意味がなく、 'flushall'コマンドを実行する必要はありません。きれいなRedisインスタンスでテストを行うことができます。 –

関連する問題