Bagi pembangun yang menggunakan Redis sebagai pelayan cache, adalah sangat perlu untuk mengosongkan data cache dalam Redis secara kerap. Jika data cache yang disimpan dalam Redis tidak dikosongkan untuk masa yang lama, ia akan menduduki sejumlah besar sumber memori, mengurangkan prestasi sistem, malah boleh menyebabkan sistem ranap. Artikel ini akan menerangkan cara mengosongkan semua data cache dalam Redis menggunakan kod PHP.
1. Pembersihan cache Redis
Redis menyediakan pelbagai kaedah untuk mengosongkan data cache Kaedah khusus dipilih mengikut senario aplikasi sebenar pembangun. Kaedah yang biasa digunakan termasuk:
Gunakan arahan FLUSHALL untuk mengosongkan semua pasangan nilai kunci dalam pangkalan data Redis.
Sintaks: FLUSHALL [ASYNC]
Perihalan parameter:
Pilihan ASYNC adalah pilihan, menunjukkan bahawa operasi pembersihan dilakukan secara tidak segerak dan tidak menyekat operasi lain Redis semasa pelayan. Walau bagaimanapun, perlu diingat bahawa pilihan ASYNC mungkin menyebabkan kehilangan data tertentu, jadi pilihan perlu dibuat berdasarkan senario sebenar.
Kod contoh:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->flushAll(); //清除Redis中所有缓存数据
Gunakan arahan KEYS untuk mendapatkan semua kekunci yang sepadan dengan corak yang ditentukan dalam pangkalan data Redis, dan kemudian gunakan arahan DEL Delete satu persatu.
Sintaks: corak KEYS
Penerangan parameter:
corak mewakili corak dan menyokong kad bebas.
Kod contoh:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); $keys = $redis->keys('*'); //获取所有键名 foreach ($keys as $key) { $redis->del($key); //逐个删除 }
Untuk kunci kategori tertentu, gunakan arahan berikut:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); $keys = $redis->keys('prefix:*'); //获取指定模式键名 foreach ($keys as $key) { $redis->del($key); //逐个删除 }
2. Cara mengosongkan data cache Redis dalam PHP
Dalam PHP, kita boleh menggunakan API yang disediakan oleh pustaka sambungan Redis untuk berinteraksi dengan pelayan Redis. Langkah-langkah khusus adalah seperti berikut:
Gunakan kaedah sambungan yang disediakan oleh perpustakaan sambungan Redis untuk menyambung ke pelayan Redis Selepas sambungan berjaya, anda boleh berinteraksi dengan pelayan Redis. Kaedah sambungan adalah seperti berikut:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379);
Pilih untuk mengosongkan semua data cache dalam Redis atau data cache bagi kategori tertentu mengikut keperluan sebenar.
Kaedah untuk mengosongkan semua data cache adalah seperti berikut:
$redis->flushAll();
Kaedah untuk mengosongkan data cache bagi kategori yang ditentukan adalah seperti berikut:
$keys = $redis->keys('prefix:*'); //获取指定模式键名 foreach ($keys as $key) { $redis->del($key); //逐个删除 }
Selepas menyelesaikan operasi Redis, anda perlu menggunakan kaedah berikut untuk menutup sambungan secara aktif dengan pelayan Redis:
$redis->close();
3
Berhati-hati tentang kehilangan data4. Ringkasan
Artikel ini memperkenalkan kaedah menggunakan kod PHP untuk mengosongkan semua data cache dalam Redis, terutamanya termasuk tiga kaedah: FLUSHALL, KEYS dan memadam data cache satu demi satu. Apabila menggunakan kaedah ini untuk mengosongkan data cache dalam Redis, anda perlu memberi perhatian kepada isu seperti kebolehpercayaan data, kitaran hayat data cache dan keselamatan kod. Dalam aplikasi sebenar, pembangun perlu memilih kaedah penyingkiran yang sesuai mengikut situasi tertentu dan menjalankan ujian dan pengesahan yang mencukupi.
Atas ialah kandungan terperinci Kosongkan semua data cache dalam Redis daripada PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!