Jadual Kandungan
Melaksanakan satu arahan
tetapkan rentetan berbilang baris
Pelaksanaan arahan berulang
Eksport csv
Laksanakan skrip lua
Memantau status pelayan
Imbas KUNCI besar
Arahan Pelayan Persampelan
诊断服务器时延
远程 rdb 备份
模拟从库
Rumah pangkalan data Redis Cara menggunakan alat baris arahan Redis

Cara menggunakan alat baris arahan Redis

Jun 03, 2023 am 08:53 AM
redis

Melaksanakan satu arahan

Apabila mengakses pelayan Redis, kami biasanya menggunakan redis-cli untuk memasuki mod interaktif, dan kemudian membaca dan menulis pelayan dengan bertanya dan menjawab "model interaktif". Terdapat satu lagi "mod langsung", yang melaksanakan arahan dan memperoleh hasil output dengan menghantar parameter arahan terus ke redis-cli.

$ redis-cli incrby foo 5<br/>(integer) 5<br/>$ redis-cli incrby foo 5<br/>(integer) 10<br/>
Salin selepas log masuk


Jika kandungan output adalah besar, anda juga boleh mengubah hala output ke fail luaran

$ redis-cli info > info.txt<br/>$ wc -l info.txt<br/>     120 info.txt<br/>
Salin selepas log masuk


Pelayan yang ditunjukkan oleh arahan di atas ialah alamat pelayan lalai . Jika anda ingin menunjuk Pelayan tertentu boleh melaksanakan arahan dalam kelompok seperti ini

// -n 2 表示使用第2个库,相当于 select 2<br/>$ redis-cli -h localhost -p 6379 -n 2 ping<br/>PONG<br/>
Salin selepas log masuk

Dalam proses pembangunan dalam talian harian, kadangkala ia tidak dapat dielakkan untuk mencipta data secara manual dan mengimportnya ke dalam Redis. Biasanya kami akan menulis skrip untuk melakukan ini. Tetapi terdapat satu lagi cara yang lebih mudah, iaitu dengan terus menggunakan redis-cli untuk melaksanakan satu siri arahan dalam kelompok.

$ cat cmds.txt<br/>set foo1 bar1<br/>set foo2 bar2<br/>set foo3 bar3<br/>......<br/>$ cat cmds.txt | redis-cli<br/>OK<br/>OK<br/>OK<br/>...<br/>
Salin selepas log masuk


Arahan di atas menggunakan paip Unix untuk menyambungkan output standard perintah kucing ke input standard redis-cli. Malah, anda juga boleh terus menggunakan pengalihan masukan untuk melaksanakan arahan dalam kelompok.

$ redis-cli < cmds.txt<br/>OK<br/>OK<br/>OK<br/>...<br/>
Salin selepas log masuk

tetapkan rentetan berbilang baris

Jika rentetan mempunyai berbilang baris dan anda mahu menghantarnya ke dalam arahan yang ditetapkan, bagaimana redis-cli melakukannya? Anda boleh menggunakan pilihan -x, yang menggunakan kandungan input standard sebagai hujah terakhir.

$ cat str.txt<br/>Ernest Hemingway once wrote,<br/>"The world is a fine place and worth fighting for."<br/>I agree with the second part.<br/>$ redis-cli -x set foo < str.txt<br/>OK<br/>$ redis-cli get foo<br/>"Ernest Hemingway once wrote,\n\"The world is a fine place and worth fighting for.\"\nI agree with the second part.\n"<br/>
Salin selepas log masuk

Pelaksanaan arahan berulang

redis-cli juga menyokong pelaksanaan berulang arahan beberapa kali Selang ditetapkan antara pelaksanaan setiap arahan, supaya kandungan output arahan tertentu boleh diperhatikan dari semasa ke semasa.

// 间隔1s,执行5次,观察qps的变化<br/>$ redis-cli -r 5 -i 1 info | grep ops<br/>instantaneous_ops_per_sec:43469<br/>instantaneous_ops_per_sec:47460<br/>instantaneous_ops_per_sec:47699<br/>instantaneous_ops_per_sec:46434<br/>instantaneous_ops_per_sec:47216<br/>
Salin selepas log masuk


Jika bilangan kali ditetapkan kepada -1, ia akan diulang berkali-kali dan dilaksanakan selama-lamanya. Jika parameter -i tidak disediakan, tidak akan ada selang dan pelaksanaan akan diulang secara berterusan. Anda juga boleh melaksanakan arahan berulang kali dalam mod interaktif Bentuknya agak pelik Tambahkan bilangan kali di hadapan arahan

127.0.0.1:6379> 5 ping<br/>PONG<br/>PONG<br/>PONG<br/>PONG<br/>PONG<br/># 下面的指令很可怕,你的屏幕要愤怒了<br/>127.0.0.1:6379> 10000 info<br/>.......<br/>
Salin selepas log masuk

Eksport csv

Walaupun keseluruhan pangkalan data Redis tidak boleh dieksport ke. Format CSV sahaja, satu item boleh dieksport Hasil arahan adalah dalam format CSV.

$ redis-cli rpush lfoo a b c d e f g<br/>(integer) 7<br/>$ redis-cli --csv lrange lfoo 0 -1<br/>"a","b","c","d","e","f","g"<br/>$ redis-cli hmset hfoo a 1 b 2 c 3 d 4<br/>OK<br/>$ redis-cli --csv hgetall hfoo<br/>"a","1","b","2","c","3","d","4"<br/>
Salin selepas log masuk


Sudah tentu, fungsi eksport ini agak lemah, ia hanyalah sekumpulan rentetan yang dipisahkan dengan koma. Walau bagaimanapun, anda boleh menggabungkan pelaksanaan kumpulan arahan untuk melihat kesan eksport berbilang arahan.

$ redis-cli --csv -r 5 hgetall hfoo<br/>"a","1","b","2","c","3","d","4"<br/>"a","1","b","2","c","3","d","4"<br/>"a","1","b","2","c","3","d","4"<br/>"a","1","b","2","c","3","d","4"<br/>"a","1","b","2","c","3","d","4"<br/>
Salin selepas log masuk


Melihat ini, pembaca harus memahami bahawa kesan parameter --csv adalah untuk menukar output dan memisahkannya dengan koma, tidak lebih.

Laksanakan skrip lua

Dalam bahagian skrip lua, kami menggunakan arahan eval untuk melaksanakan rentetan skrip Setiap kali, kami memampatkan kandungan skrip ke dalam rentetan satu baris dan kemudian memanggil arahan eval, yang sangat menyusahkan, dan kebolehbacaannya sangat lemah. redis-cli mengambil kira ini dan boleh melaksanakan fail skrip secara langsung.

127.0.0.1:6379> eval "return redis.pcall(&#39;mset&#39;, KEYS[1], ARGV[1], KEYS[2], ARGV[2])" 2 foo1 foo2 bar1 bar2<br/>OK<br/>127.0.0.1:6379> eval "return redis.pcall(&#39;mget&#39;, KEYS[1], KEYS[2])" 2 foo1 foo2<br/>1) "bar1"<br/>2) "bar2"<br/>
Salin selepas log masuk


Di bawah kami melaksanakan arahan di atas dalam bentuk skrip Format parameter adalah berbeza dan ARGV perlu dipisahkan dengan koma, dan bilangan parameter KEY tidak perlu disediakan

$ cat mset.txt<br/>return redis.pcall(&#39;mset&#39;, KEYS[1], ARGV[1], KEYS[2], ARGV[2])<br/>$ cat mget.txt<br/>return redis.pcall(&#39;mget&#39;, KEYS[1], KEYS[2])<br/>$ redis-cli --eval mset.txt foo1 foo2 , bar1 bar2<br/>OK<br/>$ redis-cli --eval mget.txt foo1 foo2<br/>1) "bar1"<br/>2) "bar2"<br/>
Salin selepas log masuk


--eval berguna jika skrip lua anda terlalu panjang.

Memantau status pelayan

Kita boleh menggunakan parameter --stat untuk memantau status pelayan dalam masa nyata dan mengeluarkannya dalam masa nyata setiap 1 saat.

$ redis-cli --stat<br/>------- data ------ --------------------- load -------------------- - child -<br/>keys       mem      clients blocked requests            connections<br/>2          6.66M    100     0       11591628 (+0)       335<br/>2          6.66M    100     0       11653169 (+61541)   335<br/>2          6.66M    100     0       11706550 (+53381)   335<br/>2          6.54M    100     0       11758831 (+52281)   335<br/>2          6.66M    100     0       11803132 (+44301)   335<br/>2          6.66M    100     0       11854183 (+51051)   335<br/>
Salin selepas log masuk


Jika anda rasa selang terlalu panjang atau terlalu pendek, anda boleh menggunakan parameter -i untuk melaraskan selang output.

Imbas KUNCI besar

Fungsi ini sangat praktikal, saya telah mencubanya dalam talian berkali-kali. Setiap kali Redis menghadapi masalah ketinggalan sekali-sekala, perkara pertama yang terlintas di fikiran ialah sama ada terdapat KEY yang besar dalam contoh Pengembangan memori dan pelepasan KEY yang besar akan menyebabkan utas utama ketinggalan. Jika anda tahu sama ada terdapat KUNCI besar di dalamnya, anda boleh menulis program anda sendiri untuk mengimbasnya, tetapi ini terlalu menyusahkan. redis-cli menyediakan parameter --bigkeys untuk mengimbas keluar KEY besar dalam memori dengan cepat Gunakan parameter -i untuk mengawal selang imbasan untuk mengelakkan peningkatan mendadak dalam operasi pelayan yang disebabkan oleh arahan imbasan.

$ ./redis-cli --bigkeys -i 0.01<br/># Scanning the entire keyspace to find biggest keys as well as<br/># average sizes per key type.  You can use -i 0.1 to sleep 0.1 sec<br/># per 100 SCAN commands (not usually needed).<br/><br/>[00.00%] Biggest zset   found so far &#39;hist:aht:main:async_finish:20180425:17&#39; with 1440 members<br/>[00.00%] Biggest zset   found so far &#39;hist:qps:async:authorize:20170311:27&#39; with 2465 members<br/>[00.00%] Biggest hash   found so far &#39;job:counters:6ya9ypu6ckcl&#39; with 3 fields<br/>[00.01%] Biggest string found so far &#39;rt:aht:main:device_online:68:{-4}&#39; with 4 bytes<br/>[00.01%] Biggest zset   found so far &#39;machine:load:20180709&#39; with 2879 members<br/>[00.02%] Biggest string found so far &#39;6y6fze8kj7cy:{-7}&#39; with 90 bytes<br/>
Salin selepas log masuk


redis-cli akan merekodkan KEY dengan panjang terbesar untuk setiap jenis objek Untuk setiap jenis objek, memuat semula rekod tertinggi akan mengeluarkannya serta-merta. Ia boleh menjamin output KEY dengan panjang Top1, tetapi tiada jaminan bahawa KEY seperti Top2 dan Top3 boleh diimbas keluar. Pendekatan biasa ialah melakukan berbilang imbasan atau mengalih keluar kata kunci keutamaan tertinggi dan kemudian mengimbas semula untuk menentukan sama ada masih terdapat kata kunci keutamaan yang lebih rendah.

Arahan Pelayan Persampelan

Terdapat pelayan Redis dalam talian dan OPS terlalu tinggi menggunakan Redis ini. Pada masa ini, anda boleh mencuba arahan pelayan dalam talian Dengan memerhatikan arahan sampel, anda boleh menganalisis secara kasar mata perniagaan dengan bahagian OPS yang tinggi. Gunakan arahan monitor untuk memaparkan semua arahan yang dilaksanakan oleh pelayan sekaligus. Perlu diingatkan bahawa apabila menggunakannya, walaupun anda ingin memaksa rehat, anda mesti menekan Ctrl+C, jika tidak terlalu banyak arahan akan muncul pada paparan, yang akan mempesonakan dan berderak sekelip mata.

$ redis-cli --host 192.168.x.x --port 6379 monitor<br/>1539853410.458483 [0 10.100.90.62:34365] "GET" "6yax3eb6etq8:{-7}"<br/>1539853410.459212 [0 10.100.90.61:56659] "PFADD" "growth:dau:20181018" "2klxkimass8w"<br/>1539853410.462938 [0 10.100.90.62:20681] "GET" "6yax3eb6etq8:{-7}"<br/>1539853410.467231 [0 10.100.90.61:40277] "PFADD" "growth:dau:20181018" "2kei0to86ps1"<br/>1539853410.470319 [0 10.100.90.62:34365] "GET" "6yax3eb6etq8:{-7}"<br/>1539853410.473927 [0 10.100.90.61:58128] "GET" "6yax3eb6etq8:{-7}"<br/>1539853410.475712 [0 10.100.90.61:40277] "PFADD" "growth:dau:20181018" "2km8sqhlefpc"<br/>1539853410.477053 [0 10.100.90.62:61292] "GET" "6yax3eb6etq8:{-7}"<br/>
Salin selepas log masuk

诊断服务器时延

通常我们使用Unix的ping命令来测量两台计算机的延迟。Redis 也提供了时延诊断指令,不过它的原理不太一样,它是诊断当前机器和 Redis 服务器之间的指令(PING指令)时延,它不仅仅是物理网络的时延,还和当前的 Redis 主线程是否忙碌有关。如果你发现 Unix 的 ping 指令时延很小,而 Redis 的时延很大,那说明 Redis 服务器在执行指令时有微弱卡顿。

$ redis-cli --host 192.168.x.x --port 6379 --latency<br/>min: 0, max: 5, avg: 0.08 (305 samples)<br/>
Salin selepas log masuk


时延单位是 ms。redis-cli 还能显示时延的分布情况,而且是图形化输出。

$ redis-cli --latency-dist<br/>
Salin selepas log masuk


这个图形的含义作者没有描述,读者们可以尝试破解一下。

远程 rdb 备份

执行下面的命令就可以将远程的 Redis 实例备份到本地机器,远程服务器会执行一次bgsave操作,然后将 rdb 文件传输到客户端。远程 rdb 备份让我们有一种“秀才不出门,全知天下事”的感觉。

$ ./redis-cli --host 192.168.x.x --port 6379 --rdb ./user.rdb<br/>SYNC sent to master, writing 2501265095 bytes to &#39;./user.rdb&#39;<br/>Transfer finished with success.<br/>
Salin selepas log masuk

模拟从库

如果你想观察主从服务器之间都同步了那些数据,可以使用 redis-cli 模拟从库。

$ ./redis-cli --host 192.168.x.x --port 6379 --slave<br/>SYNC with master, discarding 51778306 bytes of bulk transfer...<br/>SYNC done. Logging commands from master.<br/>...<br/>
Salin selepas log masuk


从库连上主库的第一件事是全量同步,所以看到上面的指令卡顿这很正常,待首次全量同步完成后,就会输出增量的 aof 日志。

Atas ialah kandungan terperinci Cara menggunakan alat baris arahan Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Membina Mod Kluster Redis Cara Membina Mod Kluster Redis Apr 10, 2025 pm 10:15 PM

Mod Redis cluster menyebarkan contoh Redis ke pelbagai pelayan melalui sharding, meningkatkan skalabilitas dan ketersediaan. Langkah -langkah pembinaan adalah seperti berikut: Buat contoh Redis ganjil dengan pelabuhan yang berbeza; Buat 3 contoh sentinel, memantau contoh redis dan failover; Konfigurasi fail konfigurasi sentinel, tambahkan pemantauan maklumat contoh dan tetapan failover; Konfigurasi fail konfigurasi contoh Redis, aktifkan mod kluster dan tentukan laluan fail maklumat kluster; Buat fail nodes.conf, yang mengandungi maklumat setiap contoh Redis; Mulakan kluster, laksanakan perintah Buat untuk membuat kluster dan tentukan bilangan replika; Log masuk ke kluster untuk melaksanakan perintah maklumat kluster untuk mengesahkan status kluster; buat

Cara melaksanakan redis yang mendasari Cara melaksanakan redis yang mendasari Apr 10, 2025 pm 07:21 PM

Redis menggunakan jadual hash untuk menyimpan data dan menyokong struktur data seperti rentetan, senarai, jadual hash, koleksi dan koleksi yang diperintahkan. Redis berterusan data melalui snapshots (RDB) dan menambah mekanisme tulis sahaja (AOF). Redis menggunakan replikasi master-hamba untuk meningkatkan ketersediaan data. Redis menggunakan gelung acara tunggal untuk mengendalikan sambungan dan arahan untuk memastikan atom dan konsistensi data. Redis menetapkan masa tamat tempoh untuk kunci dan menggunakan mekanisme memadam malas untuk memadamkan kunci tamat tempoh.

Apa yang perlu dilakukan sekiranya pelayan redis tidak dapat dijumpai Apa yang perlu dilakukan sekiranya pelayan redis tidak dapat dijumpai Apr 10, 2025 pm 06:54 PM

Langkah-langkah untuk menyelesaikan masalah yang tidak dapat dijumpai oleh Redis-Server: periksa pemasangan untuk memastikan Redis dipasang dengan betul; Tetapkan pembolehubah persekitaran redis_host dan redis_port; Mulakan Redis Server Redis-server; Semak sama ada pelayan sedang menjalankan ping redis-cli.

Cara Melihat Semua Kekunci di Redis Cara Melihat Semua Kekunci di Redis Apr 10, 2025 pm 07:15 PM

Untuk melihat semua kunci di Redis, terdapat tiga cara: Gunakan perintah kunci untuk mengembalikan semua kunci yang sepadan dengan corak yang ditentukan; Gunakan perintah imbasan untuk melangkah ke atas kunci dan kembalikan satu set kunci; Gunakan arahan maklumat untuk mendapatkan jumlah kunci.

Cara melihat nombor versi Redis Cara melihat nombor versi Redis Apr 10, 2025 pm 05:57 PM

Untuk melihat nombor versi REDIS, anda boleh menggunakan tiga kaedah berikut: (1) Masukkan arahan INFO, (2) Mulakan pelayan dengan pilihan --version, dan (3) Lihat fail konfigurasi.

Cara membaca kod sumber redis Cara membaca kod sumber redis Apr 10, 2025 pm 08:27 PM

Cara terbaik untuk memahami kod sumber REDIS adalah dengan langkah demi langkah: Dapatkan akrab dengan asas -asas Redis. Pilih modul atau fungsi tertentu sebagai titik permulaan. Mulakan dengan titik masuk modul atau fungsi dan lihat baris kod mengikut baris. Lihat kod melalui rantaian panggilan fungsi. Berhati -hati dengan struktur data asas yang digunakan oleh REDIS. Kenal pasti algoritma yang digunakan oleh Redis.

Cara menggunakan perintah redis Cara menggunakan perintah redis Apr 10, 2025 pm 08:45 PM

Menggunakan Arahan Redis memerlukan langkah -langkah berikut: Buka klien Redis. Masukkan arahan (nilai kunci kata kerja). Menyediakan parameter yang diperlukan (berbeza dari arahan ke arahan). Tekan Enter untuk melaksanakan arahan. Redis mengembalikan tindak balas yang menunjukkan hasil operasi (biasanya OK atau -r).

Cara menggunakan redis zset Cara menggunakan redis zset Apr 10, 2025 pm 07:27 PM

Redis memerintahkan set (ZSET) digunakan untuk menyimpan elemen yang diperintahkan dan disusun mengikut skor yang berkaitan. Langkah -langkah untuk menggunakan ZSET termasuk: 1. Buat zset; 2. Tambah ahli; 3. Dapatkan skor ahli; 4. Dapatkan kedudukan; 5. Dapatkan ahli dalam julat ranking; 6. Padam ahli; 7. Dapatkan bilangan elemen; 8. Dapatkan bilangan ahli dalam julat skor.

See all articles