Rumah >pangkalan data >Redis >Bagaimana untuk menyelesaikan masalah memori yang tidak mencukupi apabila menggunakan redis dalam php
Penyelesaian kepada memori PHP yang tidak mencukupi menggunakan redis: 1. Tetapkan saiz memori maksimum Redis kepada 100M melalui fail konfigurasi atau arahan 2. Dapatkan strategi penghapusan memori semasa; Melalui arahan "config Set maxmemory-policy allkeys-lru" boleh digunakan untuk mengubah suai dasar penghapusan.
Kami tahu bahawa Redis ialah pangkalan data nilai kunci berasaskan memori Kerana saiz memori sistem adalah terhad, kami menggunakan Redis Anda boleh mengkonfigurasi saiz memori maksimum yang boleh digunakan oleh Redis.
Tetapkan saiz memori dengan menambah konfigurasi berikut pada fail konfigurasi redis.conf di bawah direktori pemasangan Redis
/ /Tetapkan saiz memori maksimum Redis kepada 100M maxmemory 100mb
Fail konfigurasi redis tidak semestinya menggunakan fail redis.conf di bawah direktori pemasangan apabila memulakan perkhidmatan redis, anda boleh menghantar parameter untuk menentukan fail konfigurasi redis. saiz memori maksimum yang diduduki oleh Redis kepada 100M 127.0.0.1:6379> set config maxmemory 100mb //Dapatkan saiz memori maksimum yang Redis boleh gunakan 127.0.0.1:6379> dapatkan saiz memori maksimumtidak ditetapkan atau saiz memori maksimum ditetapkan kepada 0 , tiada had pada saiz memori di bawah sistem pengendalian 64-bit, dan sehingga 3GB memori boleh digunakan di bawah sistem pengendalian 32-bit
noeviction (dasar lalai)
: tidak lagi menyediakan perkhidmatan untuk permintaan tulis dan terus mengembalikan ralat (kecuali untuk permintaan DEL dan beberapa permintaan khas)kekunci semua -lru: Gunakan algoritma LRU untuk menghapuskan daripada semua kekunci
volatile-random: Alih keluar data secara rawak daripada kunci dengan set masa tamat volatile-ttl: Dalam kunci dengan set masa tamat, mengikut masa tamat tempoh kunci Untuk penyingkiran, lebih cepat ia tamat tempoh, keutamaan yang lebih tinggi ia akan dihapuskan Apabila menggunakan volatile-lru, volatile-random, volatile-ttl ketiga-tiga ini Apabila menggunakan strategi ini, jika tiada kunci boleh dihapuskan, ralat yang sama akan dikembalikan seperti noeviction
Cara mendapatkan dan menetapkan strategi penghapusan memori Dapatkan dasar penghapusan Memori semasa: 127.0.0.1:6379> config get maxmemory-policyTetapkan dasar penghapusan melalui fail konfigurasi (ubah suai redis.conf fail):
Algoritma LRU
Apakah itu LRU?
Seperti yang dinyatakan di atas, apabila memori maksimum yang tersedia untuk Redis telah digunakan, algoritma LRU boleh digunakan untuk penghapusan ingatan Jadi apakah algoritma LRU?Algoritma LRU AnggaranRedis menggunakan algoritma LRU anggaran, yang serupa dengan konvensional Algoritma LRU tidaklah sama. Algoritma LRU anggaran menghapuskan data melalui pensampelan rawak, memilih 5 kekunci (lalai) secara rawak setiap kali, dan menghapuskan kekunci yang paling kurang digunakan baru-baru ini.
2. WampServer, WampServer juga mudah dikendalikan seperti phpStudy dan lebih mesra kepada orang baru.
3. XAMPP, XAMPP (Apache+MySQL+PHP+PERL) ialah pakej perisian bersepadu membina laman web
4 untuk Mac.
5. Pagoda Panel, Pagoda Panel ialah perisian pengurusan pelayan yang menyokong sistem Windows dan Linux.
6. UPUPW, UPUPW kini merupakan suite PHP pelayan web yang paling tersendiri di bawah platform Windows.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah memori yang tidak mencukupi apabila menggunakan redis dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!