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 3. Melalui "config set maxmemory-; policy allkeys- lru" arahan untuk mengubah suai strategi penghapusan.
本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。
我们知道Redis是基占用内存大小
1、通罇酿置🎜>
通过在Redis安装目录下面的redis. conf配置文件中添加以下配置设置内存大小//设置Redis最大占用内存占用内存大小>redis的配置文件不一定使用的是安装目录下面的redis.conf文件,启动redis服务的时候是可以传一个参数指定redis的配置文件的Redis的内存淘汰
不就没内存于写请求不再提供服务,直接返回错误(DEL请求和部分特殊请求除外)allkeys-lru:从所有key中使用LRU算法进行淘汰从所有key中使用LRU算法进行淘汰从佮lru时间的key中使用LRU算法进行淘汰 allkeys-random:从所有key中随机淘汰数据volatile-random:从设置了过期时:间的key中随朰中随朰中随朰在设置了过期时间的key中,根据key的过期时间进行淘汰,越早过期的越优先被淘汰当使ru用 🎜 meruap 🎜 🎜>、
Volatile-ttl这三种策略时, 如果没有 Key 可以被淘汰, 则和 noeviction 一样返回错误 如何获取及设置内存淘汰策略 获取当前内存淘汰策略:
LRU算法
什么是LRU?
上尼佢诜>上尢䯆识最大内存使用完了,是可以使用LRU算法进行内存淘汰的,那么什么是LRU算法LRU (Paling Kurang Digunakan), yang paling kurang digunakan baru-baru ini, ialah algoritma penggantian cache. Apabila menggunakan memori sebagai cache, saiz cache biasanya ditetapkan. Apabila cache penuh dan anda terus menambah data pada cache, anda perlu menghapuskan beberapa data lama dan mengosongkan ruang memori untuk menyimpan data baharu. Pada masa ini, algoritma LRU boleh digunakan. Idea teras ialah: jika sekeping data tidak digunakan dalam tempoh baru-baru ini, kemungkinan untuk digunakan pada masa hadapan adalah sangat kecil, jadi ia boleh dihapuskan.Redis 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.
Anda boleh mengubah suai bilangan sampel melalui parameter maxmemory-samples: Contoh: maxmemory-samples 10 Semakin besar konfigurasi sampel maxmenory, semakin hampir hasil penyingkiran dengan algoritma LRU yang ketat
Redis untuk mencapai anggaran Algoritma LRU menambah medan 24-bit tambahan pada setiap kunci untuk menyimpan kali terakhir kunci itu diakses.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika PHP menggunakan redis dan memori tidak mencukupi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!