Laravel結合Redis

2186 ワード

直結DBでは不十分で、すぐにデータベースへのアクセスがシステムのボトルネックになります.キャッシュRedisを導入します.同じ考えで、まずシステムを走らせます.

一、インストール起動Redis##

  • 取付
  • $ wget http://download.redis.io/releases/redis-3.0.1.tar.gz
    $ tar xzf redis-3.0.1.tar.gz
    $ cd redis-3.0.1
    $ make
    
  • 起動
  • $ src/redis-server
    

    公式のダウンロードとインストールドキュメントを表示するには、いくつかのコマンドだけが必要です.

    二、PHP PRedis##を取り付ける


    PRedisはPHPがredisにアクセスする拡張パッケージで、元のコードをダウンロードするだけで、php-redis.soなどのPHP拡張をインストールする必要はありません.ただし、laravelはサードパーティ製パッケージ(依存関係の管理)をインストールするため、その前にcomposerを紹介します.
  • cdあなたのAppの所在する経路に着いて、composerを修正します.jsonは、requireフィールドに"predis/predis":"~1.0.1"を追加し、現在のディレクトリの下にsudo composer updateを追加すると、vendorディレクトリの下に必要な拡張パッケージが自動的にダウンロードされます.

  • メモリが足りないというエラーが発生した場合、今はメモリの割り当てが足りない原因のようです.サーバーを再起動すればいいです.徹底的に解決する方法はサーバーの構成を変更しなければなりませんが、どこを変更するか分かりません.後で補充します.
  • 関連構成を構成し、公式ドキュメントを表示すればよい.主に構成config/database.php
  • である.
    'redis' => array(
        'cluster' => false,
        'default' => array('host' => '127.0.0.1', 'port' => 6379)
    )
    

    三、coding##

    model = new User();
        }
        
        /**
         * Show 
         *
         * @return Response
         */
        public function showUser($id)
        {
            $redis = Redis::connection('default');
            $cacheUsers = $redis->get('userList');
    
            if( $cacheUsers ){
                $users = $cacheUsers;
                print_r($users);
                Log::info('      ,  redis');
            }else{
                $users = $this->model->fetchAll();
                $redis->set('userList', $users);
                print_r($users);
                Log::info('      ,  msyql');
            }
        }
    }