Heim > Artikel > PHP-Framework > Was ist schneller, Thinkphp-Cache oder Redis-Cache?
Die Cache-Speichermethode in tp5, meine lokale Einstellung ist das Lesen von Text.
Nehmen Sie diesen Code als Beispiel: (Empfohlenes Lernen: thinkphp5)
public function getAllManegerId(){ $cache =checkCache('kf_getallManeger'); if($cache)return$cache; $role = Db::table('customer_role')->where(['type'=>2, 'role_status'=>0,])->select(); $array = []; if(!empty($role)){ foreach ($role as $key=>$value){ $customer = Db::table('customer')->where(['role_id'=>$value['role_id'],'user_status'=>0])->select(); foreach ($customer as $keys=>$values){ array_push($array,$values['customer_id']); } } } \cache('kf_getallManeger',$array,300); return $array; }
Hier gibt es zwei Schleifen, wenn kein Caching erfolgt wird verwendet. Die Verarbeitung der Informationen dauert grundsätzlich 400–600 ms.
Nach dem Hinzufügen des mit tp gelieferten Caches verkürzt sich die benötigte Zeit erheblich, nämlich zwischen 40 und 60 ms, was ideal ist.
Nachdem ich dies geschrieben habe, habe ich mir nur vorgestellt, ob Redis etwa 10 ms dauern würde, was leistungsfähiger wäre als der integrierte Cache.
Also wurde Redis-Cache hinzugefügt
$redis = $this->redis = new \Redis; $redis->connect('127.0.0.1', 6379); $caches = $redis->get('kf_getallManeger'); if($caches)return $caches;
Oberflächlich betrachtet ist es im Grunde dasselbe wie die Cache-Methode von tp, aber tatsächlich gibt es Parallelität, und der Datenverkehr war nicht vorhanden Noch getestet
Die Schlussfolgerung lautet:
Wenn die Speichermenge nicht groß ist, ähnelt der Dateicache von TP dem von Redis. Aber das Lesen des Speichers muss schneller sein. Wenn viele Werte gespeichert sind, sind die leistungsstarken E/A-Funktionen von Redis stärker als das normale Lesen und Schreiben von Dateien.
Das obige ist der detaillierte Inhalt vonWas ist schneller, Thinkphp-Cache oder Redis-Cache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!