Laravel 中使用 Redis 数据库

Laravel 中使用 Redis 数据库

Redis 是一个开源高效的键值对存储系统,它通常用作为一个数据结构服务器来存储键值对,它可以支持字符串、散列、列表、集合、有序集合。

1. 安装 predis/predis

在 Laravel 中使用 Redis 之前,你需要通过 Composer 来安装 predis/predis 包(~1.0):

$ composer require predis/predis

2. 配置

Redis 的配置文件在 config/database.php。在该文件中,我们可以看到一个包含 Redis 服务信息的配置数组,如下:

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

],

然后在 .env 文件中配置如下三项为自己的信息:

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=nullREDIS_PORT=6379

对于开发来说,默认的配置已经完全可以满足大部分的应用了。但是,你可以自由的在你环境中修改这个配置。你可以简单的添加 Redis 服务的名称,并且指定相应的服务器地址和端口。


在 Laravel 中,我们可以通过使用 Redis 假面 的各种方法来与 Redis 进行交互。Redis 假面支持动态方法,这意味着我们可以在 Redis 假面上调用任何的 Redis 命令,假面会直接将命令传递给 Redis。

1. 基本使用

下面演示 Redis 的 string 类型使用:

<?phpnamespace 
App\Http\Controllers;use 
Illuminate\Support\Facades\Redis;
class  RedisController extends Controller{    
        public function set()
    {
        Redis::set('name', 'sean');
    } 
       
    public function get()
    {
        $name = Redis::get('name');
        var_dump($name);
    }
}

2. 使用多个 Redis 连接

可以通过使用 Redis::connection 方法来获取 Redis 的实例:

$redis = Redis::connection();

这会返回默认的 Redis 服务器的实例。如果你没有使用集群服务,你可以传递配置文件中所定义的服务名称到 connection 方法中:

$redis = Redis::connection('other');

3. 管道命令

管道流水线可以允许你在一个操作中对 Redis 服务器执行多个命令。pipeline 方法接收一个参数: Closure ,它会接收 Redis 的实例。你可以在闭包中发布所有的命令,它们将会在一个操作中进行处理:

Redis::pipeline(function ($pipe) {    
        for ($i = 0; $i < 1000; $i++) 
        {
            $pipe->set("key:$i", $i);
        }
});

其它的使用,大家如果有兴趣可以自己进行继续摸索!


Laravel 中使用 Redis 数据库


喜欢(0)

评论 抢沙发

表情