Lobak LSET

Lobak Lset



Daftar Redis adalah struktur data yang menyimpan urutan elemen string dalam urutan penyisipan. Ini didasarkan pada Daftar Tertaut. Jadi, penyisipan elemen di kepala dan ekor dilakukan dalam waktu yang konstan. Satu-satunya kelemahan dari daftar Redis adalah bahwa mengkueri elemen dengan indeks agak mahal, yang membutuhkan waktu yang berbanding lurus dengan indeks elemen pengakses. Alasan di balik implementasi berbasis daftar Linked adalah untuk membuat penyisipan data lebih cepat untuk daftar item yang sangat panjang.

Daftar Redis memiliki pengindeksan berbasis 0. Elemen pertama ditunjuk sebagai 0 th indeks; yang kedua ada di 1 st indeks, dan sebagainya. Mengakses elemen ekor dengan indeks dimungkinkan dengan indeks negatif seperti elemen terakhir diindeks sebagai -1, elemen kedua dari belakang adalah -2, dan seterusnya.









Elemen daftar dapat diatur pada indeks apa pun dengan perintah LSET, yang dijelaskan di bagian berikut.



Perintah LSET

Perintah LSET menetapkan elemen pada indeks yang diberikan dari daftar Redis yang disimpan pada kunci yang ditentukan. Ini memiliki sintaks sederhana berikut:





LSET list_key elemen indeks

list_key : Kunci daftar Redis.

indeks : Indeks tempat Anda perlu mengatur elemen.



elemen : Elemen string yang akan disetel pada indeks yang ditentukan.

Perintah ini mengembalikan string Sederhana 'OK' jika elemen telah diatur dengan benar. Setiap kali menemukan indeks yang berada di luar jangkauan, perintah LSET mengembalikan kesalahan.

Salah satu kasus penggunaan paling umum dari daftar Redis adalah untuk menyimpan posting media sosial dan pembaruannya untuk pengguna individu. Perintah LSET memainkan peran penting di sana, seperti yang dibahas di bagian berikut.

Use Case – Perbarui Postingan Media Sosial

Mari kita asumsikan sebuah acara di mana perusahaan mengelola situs web media sosialnya sendiri dengan ribuan pengguna yang secara aktif memposting posting dan status. Mereka telah mengidentifikasi bahwa daftar Redis adalah kandidat yang cocok untuk memegang pos dan status ini di mana penyisipan sering terjadi, dan daftar Redis melakukan penyisipan dalam waktu yang konstan.

Mari buat daftar Redis untuk id pengguna tertentu 100 yang akan digunakan untuk menyimpan posting dan pesan status pengguna tertentu. Kami akan menggunakan perintah LPUSH untuk meletakkan beberapa posting dummy dan pesan status untuk id pengguna 100.

LPUSH social-media:user:100 '2022-08-01:Hari yang baik untuk memulai.'
LPUSH social-media:user:100 '2022-08-05:Memulai pekerjaan baru di linuxhint'
LPUSH sosial-media:pengguna:100 '2022-08-06:Pesta hebat hari ini'
LPUSH sosial-media:pengguna:100 '2022-08-07:Hari yang buruk!!!'

Keluaran

Asumsikan bahwa pengguna dengan id pengguna 100 akan memperbarui salah satu posting lamanya. Misalkan posting ketiga yang dia posting membutuhkan beberapa koreksi. Perintah LSET dapat dengan mudah mencapai ini, seperti yang ditunjukkan berikut ini.

Karena elemen ketiga berada pada indeks 2 dari Kepala. Kami akan memperbaruinya sebagai berikut:

LSET social-media:user:100 2 'Memulai peran baru sebagai penulis di LinuxHint'

Keluaran

Seperti yang diharapkan, perintah berhasil dieksekusi, dan elemen pada indeks kedua diperbarui. Mari kita periksa kembali daftarnya sebagai berikut:

Kita dapat melakukan hal yang sama dengan menentukan indeks dari ekor sebagai berikut:

LSET social-media:user:100 -2 'Memulai peran baru sebagai penulis di LinuxHint'

Seperti yang diharapkan, elemen ketiga telah diatur ke string baru 'Pekerjaan dimulai di LinuxHINT'.

Jika Anda menentukan indeks yang di luar jangkauan, itu akan menimbulkan kesalahan, seperti yang ditunjukkan berikut ini:

LSET media sosial:pengguna:100 6 'Pekerjaan dimulai di LinuxHINT'

Keluaran

Kesimpulan

Perintah LSET menetapkan elemen daftar pada indeks tertentu ke elemen tertentu dari daftar Redis yang disimpan pada kunci tertentu. Karena indeks daftar Redis dimulai dari 0, ini adalah elemen pertama. Indeks 1 adalah elemen kedua dari daftar, dan seterusnya. Seperti yang telah dibahas, indeks elemen mulai dari ekor dapat ditentukan menggunakan angka negatif seperti -1 adalah elemen terakhir, -2 adalah elemen sebelum yang terakhir, dan seterusnya. Setiap kali indeks yang tidak ada dilewatkan, perintah LSET akan mengembalikan kesalahan. Selanjutnya, perintah ini mengembalikan output string sederhana atas eksekusi yang berhasil.