关于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