ホームページ >PHPフレームワーク >ThinkPHP >thinkphp キャッシュと redis キャッシュはどちらが速いですか?

thinkphp キャッシュと redis キャッシュはどちらが速いですか?

(*-*)浩
(*-*)浩オリジナル
2019-10-30 13:35:003902ブラウズ

thinkphp キャッシュと redis キャッシュはどちらが速いですか?

tp5 のキャッシュ保存方法、私のローカル設定はテキストを読み取ることです。

次のコードを例として挙げます: (推奨学習: 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;
    }

ここには 2 つのループがあります (キャッシュがない場合)情報の処理には基本的に 400 ~ 600 ミリ秒かかります。

tp に付属のキャッシュを追加すると、所要時間は大幅に短縮され、理想的な 40 ~ 60 ミリ秒になります。

これを書いてみると、redis は 10ms くらいで内蔵キャッシュよりも強力になるのかなと思いました。

そこで、redis キャッシュを追加しました

        $redis = $this->redis = new \Redis;
        $redis->connect('127.0.0.1', 6379);
        $caches = $redis->get('kf_getallManeger');
        if($caches)return $caches;

表面的には基本的に tp のキャッシュ方法と同じですが、実際には同時実行性があり、トラフィックはテスト済み

結論は次のとおりです:

ストレージの量が大きくない場合、TPのファイルキャッシュはredisに似ています。ただし、メモリの読み取りは高速でなければなりません。多くの値が保存されている場合、Redis の強力な I/O 機能は、通常のファイルの読み取りおよび書き込みよりも強力になります。

以上がthinkphp キャッシュと redis キャッシュはどちらが速いですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。