larvel 使用 redis ,apcu擴展

      關於Redis的介紹我們在之前Laravel 緩存配置一節中已有提及,Redis是一個開源的、基於內存的數據結構存儲器,可以被用作數據庫、緩存和消息代理。相較Memcached而言,支持更加豐富的數據結構,包括字符串、哈希、列表、集合、有序集合等,此外還支持將數據持久化到數據庫。更多關於Redis的介紹可查看其官網介紹。今天我們只是簡單講述在Laravel中如何對Redis依賴包進行安裝配置和使用。

1、安裝啓動Redis及依賴包

如果使用的是Homestead虛擬機作爲本地開發環境的話,Homestead已經爲我們安裝好了Redis並開機啓動,如果是使用Windows開發環境的話,可參考這篇文章安裝啓動Redis。

Redis啓動之後,還需要在Laravel項目根目錄下運行如下命令使用Composer安裝predis依賴包:

composer require predis/predis 1.0.*

2、配置Redis

前面我們已經提到Redis可以用作主數據庫,所以Laravel中Redis的配置信息位於config/database.php中:

注意:在larvel裏面中,如果.env裏面配置了redis如下的設置:
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=123456
REDIS_PORT=6379
REDIS_DB=3
那麼在config/database.php文件裏面,
'redis'       => [

        'cluster' => false,

        'default' => [
            'host'     => env('REDIS_HOST', 'localhost'),
            'password' => env('REDIS_PASSWORD', null),
            'port'     => env('REDIS_PORT', 6379),
            'database' => 0,
        ],
    ],

1.直接通過redis命令調用:
$redis = Redis::connection('default');             //選擇默認的default連接
$redis->select(1);                                 //選擇db爲1的庫
$redis->rpush('mylist',['a','b','c']);             //設置名稱爲"mylist"的列表
$redis->lrange('mylist','0','-1'));                //獲取名稱爲"mylist"的列表
2.通過command命令調用:
Redis::command('select', [1]);                     //選擇db爲1的庫
Redis::command('set', ['lch','9999999']);          //設置名稱爲"lch"的值
Redis::command('RPUSH', ['mylist','a','b','c']);   //設置名稱爲"mylist"的列表
Redis::command('LRANGE', ['mylist','0','-1'])      //獲取名稱爲"mylist"的列表

larvel使用apcu擴展
在app/config/cache.php文件裏面添加apcu驅動
'stores' => [

        'apc' => [
            'driver' => 'apc',
        ],

        'array' => [
            'driver' => 'array',
        ],

        'database' => [
            'driver' => 'database',
            'table' => 'cache',
            'connection' => null,
        ],

        'file' => [
            'driver' => 'file',
            'path' => storage_path('framework/cache'),
        ],

        'memcached' => [
            'driver' => 'memcached',
            'servers' => [
                [
                    'host' => env('MEMCACHED_HOST', '127.0.0.1'),
                    'port' => env('MEMCACHED_PORT', 11211),
                    'weight' => 100,
                ],
            ],
        ],

        'redis' => [
            'driver' => 'redis',
            'connection' => 'default',
        ],

    ],
    
使用如下:
Cache::store('memcached')->put('bar', 'baz', 10); // Using memcached
Cache::store('apc')->put('bar', 'baz', 10); // Using apc

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章