Redis adalah sumber struktur data sumber terbuka, dalam memori yang boleh digunakan sebagai pangkalan data, cache, dan broker mesej. Ia menyokong pelbagai struktur data, dan inilah cara untuk melaksanakan operasi asas pada mereka:
Tetapkan : Perintah set digunakan untuk menetapkan nilai kunci. Ia menimpa nilai lama jika kunci sudah wujud.
<code class="bash">SET key value</code>
GET : Perintah GET digunakan untuk mendapatkan nilai kunci. Sekiranya kunci tidak wujud, ia akan nil
.
<code class="bash">GET key</code>
LPUSH : Perintah LPUSH digunakan untuk memasukkan semua nilai yang ditentukan di kepala senarai yang disimpan pada kunci. Jika kunci tidak wujud, ia akan dibuat sebagai senarai kosong sebelum melakukan operasi push.
<code class="bash">LPUSH key value1 value2 value3</code>
RPUSH : Perintah RPUSH adalah serupa dengan LPUSH tetapi memasukkan nilai pada ekor senarai.
<code class="bash">RPUSH key value1 value2 value3</code>
SADD : Perintah SADD digunakan untuk menambah satu atau lebih ahli ke satu set. Jika kunci tidak wujud, set baru dibuat.
<code class="bash">SADD key member1 member2 member3</code>
HSET : Perintah HSET digunakan untuk menetapkan nilai medan dalam hash yang disimpan pada kunci. Jika kunci tidak wujud, kunci baru memegang hash dicipta.
<code class="bash">HSET key field value</code>
Perintah ini adalah operasi asas yang digunakan untuk berinteraksi dengan struktur data redis. Adalah penting untuk memahami kes penggunaan untuk masing -masing untuk memaksimumkan kecekapan.
Pengurusan yang cekap struktur data REDIS adalah penting untuk pengoptimuman prestasi. Berikut adalah beberapa amalan terbaik:
Gunakan masa luput : Tetapkan masa tamat tempoh untuk kunci yang tidak diperlukan selama -lamanya. Ini membantu dalam menguruskan memori dan menghalang data daripada menjadi basi.
<code class="bash">SETEX key seconds value</code>
Operasi Batch : Apabila mungkin, gunakan operasi batch untuk mengurangkan perjalanan pusingan rangkaian. Sebagai contoh, gunakan MSET
untuk menetapkan kekunci berganda atau MGET
untuk mendapatkan pelbagai nilai.
<code class="bash">MSET key1 value1 key2 value2 MGET key1 key2</code>
INFO memory
untuk memantau penggunaan memori dan MEMORY USAGE key
untuk memeriksa memori yang digunakan oleh kekunci tertentu. Mengoptimumkan model data anda dengan sewajarnya.Penyelesaian masalah Redis boleh melibatkan beberapa isu biasa yang berkaitan dengan arahan seperti set dan mendapatkan. Berikut adalah beberapa langkah untuk mendiagnosis dan menyelesaikannya:
Kunci tidak dijumpai : Jika perintah mendapatkan pulangan nil
, ini bermakna kunci tidak wujud. Sahkan nama kunci dan periksa sama ada ia ditetapkan dengan betul.
<code class="bash">GET non-existent-key</code>
Isu Sambungan : Jika anda tidak dapat menyambung ke Redis, periksa status pelayan, konfigurasi port, dan tetapan rangkaian. Gunakan arahan PING
untuk menguji sambungan.
<code class="bash">PING</code>
Masalah Prestasi : Jika Redis perlahan, gunakan perintah SLOWLOG
untuk mengenal pasti pertanyaan perlahan dan perintah INFO
untuk memantau metrik prestasi. Mengoptimumkan model data anda dan pertimbangkan untuk mengukur contoh Redis anda jika perlu.
<code class="bash">SLOWLOG GET INFO</code>
MEMORY USAGE
untuk mengenal pasti kunci besar dan INFO memory
untuk memantau penggunaan memori keseluruhan. Melaksanakan dasar pengusiran dan menguruskan masa tamat tempoh utama dengan berkesan.Teknik lanjutan untuk mengoptimumkan operasi struktur data REDIS dapat meningkatkan prestasi dengan ketara. Berikut adalah beberapa strategi:
Perintah Pipeline : Gunakan Pipelining Perintah untuk menghantar beberapa arahan ke Redis dalam satu perjalanan pusingan rangkaian tunggal. Ini secara dramatik dapat mengurangkan latensi untuk operasi pukal.
<code class="bash"># Example in Redis CLI with pipelining enabled redis-cli --pipe </code>
Skrip Lua : Gunakan skrip Lua Redis untuk melaksanakan operasi kompleks dalam satu langkah. Ini mengurangkan bilangan perjalanan bulat dan membolehkan operasi atom.
<code class="lua">EVAL "return redis.call('SET', KEYS[1], ARGV[1])" 1 mykey myvalue</code>
Pub/sub corak : Melaksanakan corak pub/sub untuk membolehkan komunikasi masa nyata antara pelanggan. Ini berguna untuk sistem pemberitahuan dan kemas kini masa nyata.
<code class="bash">SUBSCRIBE channel PUBLISH channel message</code>
Hyperloglog : Gunakan hyperloglog untuk mengira unsur -unsur unik dalam dataset besar dengan penggunaan memori minimum. Ini amat berguna untuk analisis dan mengira pelawat unik ke laman web.
<code class="bash">PFADD hll element1 element2 element3 PFCOUNT hll</code>
Redis Streams : Gunakan aliran redis untuk penanaman mesej dan penyumberan acara yang boleh dipercayai. Ini memberikan alternatif yang lebih kuat untuk senarai untuk menguruskan data dan peristiwa siri masa.
<code class="bash">XADD mystream * field1 value1 field2 value2 XRANGE mystream -</code>
Dengan melaksanakan teknik canggih ini, anda boleh mengoptimumkan operasi REDIS untuk prestasi dan skalabiliti yang lebih baik.
Atas ialah kandungan terperinci Bagaimanakah saya melakukan operasi asas dengan struktur data redis (menetapkan, mendapatkan, lpush, rpush, sadd, hset)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!