關於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