Laravel 使用 Redis

安装 predis 包

composer require predis/predis

配置

配置文件: config/database.php.env

'redis' => [

    'client' => 'predis',

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

]

使用

例1,字符串

<?php
use Illuminate\Support\Facades\Redis;

Redis::set('name', 'Taylor');
Redis::get('name');

// 设置过期, 单位是秒
Redis::expire('name', 600);

例2,数组

// 返回所有数据
Redis::lrange('users', 0, -1);
// 获取数量
Redis::llen('users');
//rpush/rpushx 从队列后插入元素;lpush/lpushx 是插入到队列的头部, 'x'含义是只对已存在的队列做添加, 否则返回 0
Redis::rpush('users', 1);

set 、get 多个key-value:
$mkv = array(
    'usr:0001' => 'First user',
    'usr:0002' => 'Second user',
    'usr:0003' => 'Third user'
);
Redis::mset($mkv);  // 存储多个 key 对应的 value
$retval = Redis::mget (array_keys( $mkv));  //获取多个key对应的value

// lset 修改队列中指定位置的value:
Redis::lset('users', 1, '123'); // 修改位置 1 的元素, 返回 true

例3,数据对象,被存为json字符串

if (!Redis::exists('activity:1')) {
    $activity = Activity::find(1);
    Redis::set('activity:1', $activity);
}
$this->activity = json_decode(Redis::get('activity:1'));

参考:https://blog.csdn.net/qq_43638176/article/details/88536764
https://www.cnblogs.com/love-snow/articles/7778532.html

 590 total views,  14 views today

Revisions

Comments are closed.