Aplikasi Redis dalam Python
Redis ialah sistem storan nilai kunci berprestasi tinggi sumber terbuka, biasa digunakan dalam cache, baris gilir mesej, kaunter dan senario lain. Sebagai bahasa skrip yang ringkas dan cekap, Python juga digunakan secara meluas dalam pemprosesan latar belakang Web, analisis data dan perlombongan, pembelajaran mesin, kecerdasan buatan dan bidang lain. Artikel ini akan membincangkan aplikasi Redis dalam Python, termasuk pemasangan Redis, penggunaan modul klien Python Redis dan kes aplikasi tertentu.
1. Pemasangan Redis
- Muat turun fail pemasangan
Tapak web rasmi Redis menyediakan kod sumber dan versi prapenyusun. Jika anda memilih versi prapengumpulan, anda boleh memuat turun terus versi terkini. - Nyahzip dan susun
Selepas muat turun selesai, nyahzipnya ke direktori yang ditentukan. Gunakan arahan make untuk menyusun Redis ke dalam fail boleh laku, skrip permulaan, dsb. Dalam sistem Linux, anda boleh menggunakan arahan berikut:
$ tar xzf redis-5.0.3.tar.gz
$ cd redis-5.0.3
$ make
- Mulakan pelayan Redis
Selepas penyusunan selesai, anda boleh menggunakan arahan pelayan redis untuk memulakan pelayan Redis Port mendengar lalai ialah 6379:
$ src. /redis-server
- Uji sambungan
Anda boleh menggunakan arahan redis-cli untuk menyambung ke pelayan redis untuk operasi. Contohnya, gunakan arahan SET untuk menetapkan pasangan nilai kunci:
$ src/redis-cli
127.0.0.1:6379> SET mykey "Hello Redis"
OK
127.0. 0.1:6379> GET mykey
"Hello Redis"
2 Penggunaan modul klien Python Redis
Untuk menggunakan Redis dengan mudah, anda boleh menggunakan modul redis-py sebagai perpustakaan klien Redis. Anda boleh menggunakan arahan pip untuk memasang:
$ pip install redis
- Sambung ke pelayan Redis
Mula-mula anda perlu mencipta objek Redis untuk menyambung ke pelayan Redis . Anda boleh menggunakan kod berikut:
import redis
rds = redis.Redis(host='localhost', port=6379, db=0)
di mana hos dan port masing-masing ialah alamat dan nombor port pelayan Redis, db mewakili nombor pangkalan data Redis, dan lalai ialah 0.
- Operasi Data
Menggunakan objek Redis, anda boleh menetapkan, mendapatkan, memadam pasangan nilai kunci dan operasi lain. Contohnya:
rds.set('name', 'Alice')
name = rds.get('name')
print(name) # Output: b'Alice '
Antaranya, kaedah set digunakan untuk menetapkan pasangan nilai kunci, dan kaedah get digunakan untuk mendapatkan pasangan nilai kunci. Perlu diingatkan bahawa jenis data yang dikembalikan oleh kaedah get adalah bait dan perlu ditukar kepada rentetan menggunakan kaedah nyahkod.
- Operasi Kelompok
Untuk meningkatkan kecekapan, Redis menyokong operasi kelompok. Menggunakan saluran paip, berbilang operasi boleh dibungkus dan dihantar ke pelayan Redis, mengurangkan overhed dan kependaman rangkaian. Contohnya:
paip = rds.pipeline()
pipe.set('key1', 'value1')
pipe.set('key2', 'value2')
pipe.set('key3', 'value3')
pipe.execute()
- mod Pub/Sub
Redis menyediakan mod terbitkan/langgan untuk maklumat penghantaran. Pustaka klien Python Redis juga menyediakan API yang sepadan. Contohnya:
masa import
pubsub = rds.pubsub()
pubsub.subscribe('channel')
rds.publish('channel', 'Hello')
time.sleep(1) # Tunggu 1 saat
msg = pubsub.get_message()
print(msg) # Output: {'type': 'message', 'channel': b'channel ' , 'data': b'Hello'}
Antaranya, kaedah langgan bermaksud melanggan saluran, dan kaedah terbitan bermaksud menerbitkan mesej. Gunakan kaedah get_message untuk mendapatkan mesej.
3. Kes aplikasi khusus
- Caching
Pustaka klien Python Redis boleh digunakan untuk menyimpan data yang biasa digunakan dan mempercepatkan kelajuan tindak balas aplikasi web. Contohnya:
masa import
import redis
Cache kelas:
def __init__(self): self.rds = redis.Redis(host='localhost', port=6379, db=0) def get(self, key): val = self.rds.get(key) if val: return val.decode() return None def set(self, key, val, ttl=60): self.rds.set(key, val, ex=ttl)
cache = Cache()
val = cache.get('key')
jika bukan val:
# 从数据库中查询数据 val = 'value' cache.set('key', val, ttl=60)
print(val)
Kelas Cache merangkum pelaksanaan cache Redis, dan anda boleh menggunakan kaedah get dan set untuk mendapatkan atau menetapkan data cache. Tanya cache sebelum mendapatkan data Jika ia tidak wujud dalam cache, baca data daripada pangkalan data dan cache ia.
- Kunci teragih
Kunci teragih ialah mekanisme penyegerakan yang digunakan untuk mengelakkan persaingan sumber apabila berbilang proses/benang/nod bekerjasama. Pustaka klien Python Redis boleh digunakan untuk melaksanakan kunci teragih. Contohnya:
masa import
import redis
Kunci kelas:
def __init__(self): self.rds = redis.Redis(host='localhost', port=6379, db=0) self.locked = False def acquire(self, lockname, ttl=60): identifier = str(time.time()) self.locked = self.rds.setnx(lockname, identifier) if self.locked: self.rds.expire(lockname, ttl) return self.locked def release(self, lockname): if self.locked: self.rds.delete(lockname)
kunci = Kunci()
jika lock.acquire('mylock'):
# 处理业务逻辑... lock.release('mylock')
Kelas Lock merangkumi pelaksanaan kunci teragih, dan kaedah perolehan dan lepaskan boleh digunakan untuk memperoleh atau melepaskan kunci. Apabila memperoleh kunci, kembalikan Palsu jika kunci sudah diisi; jika kunci tidak diisi, dapatkan kunci dan tetapkan masa tamat tempoh.
Ringkasnya, Redis digunakan secara meluas dalam Python dan boleh digunakan dalam cache, kunci teragih, baris gilir mesej, kaunter dan senario lain. Pustaka klien Python Redis juga menyediakan API yang ringkas dan mudah digunakan untuk operasi data yang mudah.
Atas ialah kandungan terperinci Aplikasi Redis dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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

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.

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.

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 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.

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).

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.

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.
