Soalan Lazim SSDB – Soalan Lazim


. pemikiran otak.

Jika anda masih tidak mendapat jawapan selepas mengkaji dokumentasi dan memikirkannya sepenuhnya, anda boleh membangkitkan isu di Github.

    Perhatikan bahawa sebagai pengguna produk teknikal, pekerja Internet, atau pun seorang pengaturcara, anda Anda harus belajar kemahiran asas menyoal Jika soalan anda tidak dijawab, maka tanggungjawab bukan pada orang yang ditanya, tetapi anda tidak bertanya soalan dengan betul seperti orang teknikal biasa.
  • .
: Mengapa saya boleh mengakses pelayan SSDB pada mesin ini tetapi tidak pada mesin lain? Ia menggesa Sambungan ditolak anda ingin buka Untuk memberikan akses kepada IP lain pada rangkaian, sila ubah suai konfigurasi mengikut dokumen.
  • Soalan: Mengapa bilangan konkurensi tidak boleh meningkat Pelayan melaporkan ralat Terlalu banyak fail yang dibuka, dan pelanggan melaporkan ralat Tetapan semula sambungan oleh rakan sebaya. dokumen untuk konfigurasi.

Soalan: Saya telah memadamkan satu, dua atau semua kekunci, mengapa memori dan ruang cakera yang diduduki oleh SSDB tidak dikeluarkan

  • Jawapan: untuk SSDB mempunyai strategi tersendiri? bila atau sama ada untuk melepaskan memori dan pekerjaan cakera keras, anda tidak boleh meminta SSDB untuk melepaskan ruang dengan segera atau pada masa tertentu pada masa hadapan, atau berdasarkan syarat tertentu
  • Selain itu, walaupun pangkalan data dibersihkan, SSDB akan tetap mengekalkan beberapa maklumat, jadi ia masih akan menduduki sebahagian daripada ruang cakera keras Anda tidak sepatutnya mengambil berat tentang soalan ini.

S: Mengapa kadang-kadang SSDB menggunakan 100% CPU?

  • Jawabnya: adalah sepenuhnya
  • normal
untuk SSDB untuk sekali-sekala
menggunakan 100% CPU, sila jangan buat kecoh Ini Kerana SSDB/LevelDB sedang menjalankan operasi pemadatan pangkalan data (Compaction), tempoh biasanya menjadi lebih lama apabila data menjadi lebih besar, biasanya. hanya bertahan beberapa saat sahaja.

  • Soalan: Mengapa SSDB sekali-sekala menggunakan lebih banyak cakera IO?

Jawapan: SSDB sesekalimenggunakan lebih banyak cakera IO adalah benar-benar ini adalah perkara biasa / LevelDB sedang menjalankan operasi pemadatan pangkalan data (Compaction), dan tempoh biasanya menjadi lebih lama apabila data menjadi lebih besar, biasanya hanya bertahan beberapa saat.

  • Soalan: Mengapa SSDB kadang-kadang menggunakan lebih banyak ruang memori, dan kemudian berkurangan semula ?

Jawapan: Ruang memori yang digunakan oleh SSDB berubah, dan mungkin naik atau turun Had atas ruang memori yang digunakan diterangkan dalam dokumen.

  • S: Perkhidmatan akan berubah. sedikit semasa Compaction Slow, bolehkah saya menetapkan masa apabila Compaction dilaksanakan?

Jawapan: Malangnya, anda tidak boleh menetapkan apabila Compaction dilaksanakan . Mengikut maklum balas daripada kebanyakan pengguna, Compaction tidak memberi kesan kepada perkhidmatan.

  • S: Fail konfigurasi asal saya tidak menghidupkan pilihan pemampatan (mampatan: tidak), bolehkah saya menukar pemampatan kepada ya di tengah jalan?

J:Ya, anda boleh mengubah suai pada bila-bila masa pemampatan pilihan, selagi anda memulakan semula ssdb-server, pengubahsuaian baharu akan berkuat kuasa Selepas perubahan, data asal masih serasi dan tidak akan ada masalah.

  • S: Saya menghidupkan pilihan pemampatan, tetapi. cakera keras yang diduduki oleh SSDB Ia tidak semakin kecil, apa yang berlaku?

Jawapan: Tidak kira anda menghidupkan atau mematikan pilihan pemampatan, sebaik sahaja anda memulakan semula, pilihan baharu akan berkuat kuasa. pilihan baharu mungkin tidak menjejaskan asal data lama serta-merta, SSDB akan menggunakan pilihan baharu pada data lama apabila sesuai, anda tidak mempunyai kawalan ke atas perkara ini.


  • Soalan: Adakah arahan untuk mengetahui jumlah bilangan kunci yang disimpan dalam SSDB?

Jawapan: Jika anda ingin mengira bilangan KV, maka, pada mulanya, anda perlu letakkan semua KV semuanya diletakkan dalam HASH yang sama, dan kemudian anda boleh mendapatkan bilangan kunci melalui arahan hsize Jika anda tidak melakukan ini pada mulanya, atau anda ingin mengira nombor selain KV, maka jawapannya mudah - tiada arahan tunggal sedemikian (Melainkan anda menulis skrip anda sendiri untuk melintasi statistik).

  • S: Adakah SSDB menyokong carian kunci?

Jawapan: SSDB menyokong, dan sahaja menyokong carian awalan, yang serupa dengan a这样的查找, 而不支持 aa atau carian kabur lain untuk kegunaan tertentu, sila lihat arahan: imbas kunci , hkeys, hscan, zlist, zkeys, zscan, qlist dokumentasi.

anda tidak memerlukan nombor ini!

Tanya:
    Adakah SSDB tidak menyokong koleksi set? Saya tidak boleh menggunakan sadd, sdiff, dsb. Redis untuk mencari perintah persimpangan dan kesatuan?
Jawapan:
SSDB tidak menyokong set, dan tidak mungkin menyokongnya pada masa hadapan , kerana terdapat alternatif Anda boleh menggunakan hash dan bukannya set, kerana kunci hash adalah unik dan boleh merealisasikan ciri set Bagi operasi seperti persimpangan dan kesatuan, anda hanya boleh melaksanakannya sendiri. untuk mencari persimpangan, anda boleh melintasi kunci cincang pertama, kemudian bandingkannya dengan cincang kedua, dan simpan hasilnya dalam cincang ketiga.


  • Soalan: Saya menggunakan Twemproxy untuk mengkonfigurasi SSDB bagi pengimbangan beban dan pengelompokan, tetapi apabila saya menggunakan ssdb-cli untuk menyambung ke Twemproxy, ralat akan dilaporkan? tidak menyokong protokol rangkaian SSDB , jadi, anda hanya boleh menggunakan redis-cli untuk menyambung ke Twemproxy Ambil perhatian bahawa anda boleh menggunakan ssdb-cli atau redis-cli untuk menyambung ke SSDB, itu kerana SSDB menyokong dua protokol, manakala Twemproxy hanya menyokong. satu.
    • Soalan: Bagaimana untuk menggunakan berbilang tika SSDB pada satu mesin?

    Jawapan: Setiap tika menggunakan fail konfigurasi yang berbeza untuk bermula, dan work_dir server.port 不能相同, 也就是每个实例的数据库存储路径, 以及监听端口. 如果 pidfile logger.output 使用的是绝对路径, 也要保证不能相同, 如果是相对路径, 由不需要, 因为默认跟随 work_dir dalam fail konfigurasi adalah berbeza.

🎜