SSDB FAQ - よくある質問
- Q: ここには聞きたい質問と回答がありません。どうすればよいですか?
答え: ドキュメントを調べて、ドキュメントを使用して、自分の質問に答えることをお勧めします。自分の脳で考えます。
ドキュメントを調べて徹底的に考えてもまだ答えが得られない場合は、Github に問題を提出できます。
技術製品のユーザー、インターネット ワーカー、またはプログラマーとしても注意してください。 , 質問に答えられなかった場合、その責任は質問された人ではなく、通常の技術者のように質問を正しくしなかったあなたにあります
- 。 : このマシンでは SSDB サーバーにアクセスできるのに、他のマシンではアクセスできないのはなぜですか? 接続が拒否されましたというメッセージが表示されます。
回答: デフォルトの設定ファイルは、セキュリティ上の考慮事項に基づいており、ローカル アクセスにのみ公開されます。ネットワーク上の他の IP アクセスにオープンしたい場合は、ドキュメントに従って設定を変更してください。
- 質問: 同時実行数が増加できないのはなぜですか? サーバーは開いているファイルが多すぎるというエラーを報告し、クライアントはピアによって接続がリセットされたというエラーを報告します。
回答:を参照してください。構成用のドキュメントです。
- 質問: 1 つ、2 つ、またはすべてのキーを削除しましたが、SSDB によって占有されているメモリとディスク領域が解放されないのはなぜですか?メモリとハードディスクの占有をいつ解放するか、または解放するかどうかについて、SSDB に、直ちに、将来の特定の時点、または特定の条件に基づいて領域を解放するように要求することはできません。また、データベースがクリアされた場合でも、SSDB は引き続き領域を解放します。一部の情報は保持されるため、ハード ディスク領域の一部を占有することになります。この質問については心配する必要はありません。
Q: SSDB が時々 100% CPU を使用するのはなぜですか?
- 答え:
- SSDB が時々 100% CPU を使用することは完全に 正常です。大騒ぎしないでください。これは、SSDB/LevelDB がデータベース圧縮 (Compaction) 操作を実行しているため、通常、データが大きくなるにつれて所要時間が長くなります。ほんの数秒しか続きません
- 質問: SSDB が時々より多くのディスク IO を使用するのはなぜですか?
- 質問: SSDB が時々より多くのメモリ領域を使用し、その後再び減少するのはなぜですか?
- Q: サービスは変更されます。圧縮中は若干遅いですが、圧縮を実行する時刻を設定できますか?
- Q: 元の設定ファイルは圧縮オプション (圧縮: いいえ) をオンにしませんでした。途中で圧縮を Yes に変更できますか?
- Q: 圧縮オプションをオンにしましたが、 SSDB が占有しているハードディスクが小さくなっていません。何が起こっていますか?
- 質問: SSDB に保存されているキーの総数を知るコマンドはありますか?
- Q: SSDB はキー検索をサポートしていますか? あいまい検索をサポートしていますか?
- 質問: SSDB はセット コレクションをサポートしていませんか? Redis のsadd、sdiff などを使用して交差コマンドやユニオン コマンドを見つけることはできません?
- 質問:負荷分散とクラスタリングのためにSSDBを構成するためにTwemproxyを使用していますが、Twemproxyに接続するためにssdb-cliを使用するとエラーが報告されます。なぜですか?
- 質問: 1台のマシンに複数のSSDBインスタンスをデプロイするにはどうすればよいですか?
答え: SSDB が 時々 より多くのディスク IO を使用するのは完全に 正常です。大騒ぎしないでください。 / LevelDB はデータベース圧縮 (Compaction) 操作を実行しています。通常、データが大きくなるにつれて所要時間は長くなり、通常は数秒しか続きません。
回答: SSDB が使用するメモリ空間は変化し、使用されるメモリ空間の上限はドキュメントに記載されています。
回答: 残念ながら、SSDB/LevelDB には、圧縮をいつ実行するかを決定する独自のポリシーとメカニズムがあります。ほとんどのユーザーからのフィードバックによると、圧縮はサービスに影響を与えません。
A:はい、いつでも変更できます。 ssdb-server を再起動する限り、新しい変更は有効になります。変更後も、元のデータには互換性があり、問題はありません。
答え: 圧縮オプションをオンまたはオフにしても、再起動するとすぐに新しいオプションが有効になります。新しいオプションは古いデータの元にすぐには影響しない可能性があります。SSDB は必要に応じて新しいオプションを古いデータに適用します。これを制御することはできません。
答え: KV の数を数えたい場合は、最初に次のようにする必要があります。すべての KV を同じ HASH に配置すると、最初にこれを実行しなかった場合、または KV 以外の数をカウントしたい場合は、 hsize コマンドを通じてキーの数を取得できます。答えは簡単です。そのような単一のコマンドはありません (統計を調べる独自のスクリプトを作成しない限り)。
回答: SSDB はサポートしており、 のみがサポートしています。これは、 または他のあいまい検索に似ています。具体的な使用法については、コマンド
a
这样的查找, 而不支持a
,a
scan、hlist、 を参照してください。 キー 、hkeys、hscan、zlist、zkeys、zscan、qlistdocumentation.これらのコマンドでは、
番号を省略する必要があることに注意してください!
答え: SSDB はセットをサポートしておらず、将来的にサポートされる可能性は低いです。代替手段があるため、ハッシュのキーは一意であり、集合の特性を実現できるため、たとえば、自分で実装することしかできません。交差部分を見つけるには、最初のハッシュ キーを走査し、それを 2 番目のハッシュと比較し、その結果を 3 番目のハッシュに保存します。
答え:Twemproxyだからです。は SSDB ネットワーク プロトコルをサポートしていないため、Twemproxy への接続には redis-cli のみを使用できます。SSDB への接続には ssdb-cli または redis-cli を使用できることに注意してください。これは、SSDB が 2 つのプロトコルをサポートしているのに対し、Twemproxy はのみをサポートしているためです。 1つ
答え: 各インスタンスは起動に異なる構成ファイルを使用し、構成ファイル内の
work_dir
server.port
不能相同, 也就是每个实例的数据库存储路径, 以及监听端口. 如果pidfile
logger.output
使用的是绝对路径, 也要保证不能相同, 如果是相对路径, 由不需要, 因为默认跟随work_dir
は異なります。