Rumah  >  Artikel  >  hujung hadapan web  >  Redis: Panduan Terbaik untuk Stor Struktur Data Dalam Memori

Redis: Panduan Terbaik untuk Stor Struktur Data Dalam Memori

王林
王林asal
2024-09-11 06:40:02570semak imbas

Redis: The Ultimate Guide to In-Memory Data Structure Store

Redis ialah teknologi yang digunakan secara meluas dalam alam semesta pengurusan dan penyimpanan data yang sentiasa berkembang. Dikenali secara umum sebagai stor struktur data dalam memori, Redis menawarkan pelbagai keupayaan yang menjadikannya asas standard untuk pelbagai aplikasi-daripada caching kepada analitik masa nyata. Tutorial komprehensif ini akan memperkenalkan apa itu Redis, fungsi terasnya, kes penggunaan dan cara untuk bermula.

Apa itu Redis?

Redis bermaksud Pelayan Kamus Jauh; ia ialah stor struktur data sumber terbuka dalam memori yang boleh digunakan sebagai pangkalan data nilai kunci tetapi menawarkan jenis lain untuk memenuhi keperluan kes penggunaan yang berbeza: rentetan, cincang, senarai, set dan set diisih. Kekuatan Redis termasuk prestasi, pilihan kegigihan dan keserasian dengan banyak bahasa.

Ciri Teras Redis

  1. Storan Dalam Memori: Redis menyimpan data dalam RAM, oleh itu membenarkannya melaksanakan bacaan dan tulis pada halaju yang luar biasa. Oleh sebab itu, ia sesuai untuk aplikasi yang memerlukan kependaman rendah dengan daya pemprosesan yang tinggi.

  2. Struktur Data Kaya: Redis asli menyokong pelbagai jenis data selain daripada pasangan nilai kunci mudah. Ia termasuk:

    • String: Jenis data asas; rentetan teks.
    • Cincang: Berguna untuk objek dengan beberapa medan. Senarai: Koleksi rentetan tersusun, bagus untuk perkara seperti pengendalian baris gilir. Set: Koleksi unsur unik yang tidak tersusun; bagus untuk apabila seseorang perlu melakukan ujian keahlian. Set Diisih: Serupa dengan set tetapi dengan markah; elemen boleh disusun mengikut skor. Kegigihan Walaupun Redis ialah stor dalam memori, terdapat pilihan untuk kegigihan:
  3. RDB (Sandaran Pangkalan Data Redis): Gambar set data, pada titik masa, sedang disimpan pada cakera.

    • AOF (Tambahkan Fail Sahaja): Operasi tulis dilampirkan pada log yang boleh dimainkan semula untuk membina semula set data.
  4. Replikasi dan Ketersediaan Tinggi: Redis menyokong replikasi tuan-hamba dan failover automatik. Redis Sentinel, untuk ketersediaan tinggi, menyediakan keupayaan pemantauan, pemberitahuan dan failover.

  5. Pemesejan Pub/Sub: Redis menyokong pemesejan penerbitan/langgan. Itu membolehkan ia mempunyai pemesejan masa nyata dan komunikasi antara bahagian aplikasi yang berlainan.

  6. Transaksi: Redis menyediakan sokongan transaksi melalui perintah MULTI, EXEC, WATCH dan DISCARD. Ia berbuat demikian untuk memastikan atomicity.

  7. Skrip Lua: Redis membenarkan anda menulis dan menjalankan skrip Lua secara terus pada pelayan. Oleh itu, operasi kompleks boleh dilakukan dengan cara atom.

  8. Pembahagian: Redis membenarkan pembahagian, iaitu pembahagian data merentasi berbilang pelayan untuk mencapai prestasi berskala tinggi.

Kes Penggunaan Redis

  1. Caching: Ini adalah salah satu kegunaan Redis yang paling popular: untuk menyediakan lapisan caching pantas yang menyimpan data yang kerap diakses dalam ingatan. Ia boleh digunakan untuk cache hasil pertanyaan pangkalan data, data sesi atau respons API.

  2. Analitis Masa Nyata: Disebabkan prestasi tinggi dan, selain itu, struktur data yang disokong seperti set diisih-Redis sangat sesuai untuk analitis masa nyata dan pengagregatan metrik.

  3. Pengurusan Sesi: Sifat dalam ingatan Redis, selain menyokong tamat tempoh, menjadikannya sangat sesuai untuk pengurusan sesi pengguna dalam aplikasi web.

  4. Baris Gilir Mesej: Senarai Redis dan ciri pub/subnya membolehkan baris gilir mesej yang cekap dan pemesejan masa nyata dalam sistem teragih.

  5. Sistem Papan Pendahulu: Struktur data Set Isih sesuai untuk mencipta papan pendahulu dan sistem kedudukan.

  6. Pengindeksan Geospatial: Redis menyokong pertanyaan geospatial, justeru anda boleh menyimpan dan bertanya data berasaskan lokasi dengan cekap.

Bermula dengan Redis

Pemasangan

Redis boleh dipasang pada platform berbeza seperti Linux, macOS dan Windows. Memasang Redis pada Linux adalah paling mudah dengan menggunakan pengurus pakej:

# On Ubuntu/Debian
sudo apt-get update
sudo apt-get install redis-server

# On CentOS/RHEL
sudo yum install redis

Untuk macOS, sila gunakan Homebrew:

brew install redis

Untuk Windows, satu pilihan adalah menggunakan WSL, atau anda boleh memuat turun binari yang telah dikompilasi daripada tapak web Redis.

Perintah Asas

Berikut ialah beberapa perintah Redis asas untuk membantu anda bermula:

  • Setting and Getting Values:
  SET key "value"
  GET key
  • Working with Lists:
  LPUSH mylist "item1"
  RPUSH mylist "item2"
LRANGE mylist 0 -1
  • Hashes:
  HSET myhash field1 "value1"
  HGET myhash field1
  HGETALL myhash
  • Sorted Sets:
  ZADD myzset 1 "member1"
  ZADD myzset 2 "member2"
  ZRANGE myzset 0 -1 WITHSCORES

Configuration and Optimization

Configuration of Redis is done in the file redis.conf. Following are some of the key configuration parameters:

  • maxmemory: This basically sets a cap on the amount of memory Redis can use, and it opens up user-configurable eviction policies when this is reached.
  • appendonly: Turn AOF persistence on or off.
  • save: You can configure RDB snapshots to take place at an interval of your choice.

Optimization could be done in:

Memory Usage: There should be profiling on memory usage and modification of the eviction policy, if needed.
Persistence: Depending on what would be required based on the trade-off between durability and performance, there will be the option between RDB and AOF.

  • Replication: Primary-replica replication for redundancy and scaling reads.

Atas ialah kandungan terperinci Redis: Panduan Terbaik untuk Stor Struktur Data Dalam Memori. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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