GA黄金甲

laravel的redis用法

laravel 是一个盛行的 php 开发框架 ,它荣膺《the 2020 laravel developers survey》最受接待的 php 框架头衔。其中 ,laravel 的 redis 功效被普遍使用 ,可以资助开发者实现高效的缓存和行列处置惩罚。

Redis 是一个开源的内存数据存储系统 ,它是一个类似于键值对的 NoSQL 数据库。Redis 的特点在于它能够支持多种数据结构 ,如字符串、列表、哈希、荟萃、有序荟萃等 ,同时它还具有高性能、高可用性、可扩展性和易于使用等优点 ,因此在开发中获得了普遍应用。接下来 ,我们将详细先容 Laravel 的 Redis 用法。

Redis 的设置

在 Laravel 中使用 Redis 必需要先举行设置。翻开 .env 文件 ,找到以下设置项:

CACHE_DRIVER=file
SESSION_DRIVER=file
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

登录后复制

其中 ,CACHE_DRIVER 体现缓存驱动 ,默认值是 file ,这里我们需要修改为 Redis ,即:

CACHE_DRIVER=redis

登录后复制

SESSION_DRIVER 同理。REDIS_HOST 体现 Redis 效劳的地点 ,默以为本机的 127.0.0.1 ,REDIS_PASSWORD 体现 Redis 的密码 ,若是没有需要置为 null。REDIS_PORT 体现 Redis 效劳监听的端口 ,默以为 6379。

为了测试用法 ,在这里我们使用的 Redis 是在本机装置的 ,没有设置密码。若是您使用的是远程 Redis ,需要修改 REDIS_HOST 和 REDIS_PORT ,同时也要设置 REDIS_PASSWORD。

使用 Redis 举行缓存

在 Laravel 中使用 Redis 举行缓存很是简朴。我们只需要使用 Cache 类来会见缓存 ,然后将其驱动设置为 Redis ,这样即可使用 Redis 举行缓存。

缓存一个值

使用 Redis 举行缓存的方法许多 ,这里我们首先先容缓存一个值。

use IlluminateSupportFacadesCache;

Cache::store('redis')->put('key', 'value', $seconds);

登录后复制

上述代码通过 Cache::store(‘redis’) 会见了 Redis 缓存 ,接着使用 put 要领缓存了一个 key-value 对。其中 ,$seconds 体现缓存的有用期 ,单位为秒。当 $seconds 的值为 null 时 ,缓存将不过期。

获取一个值

缓存一个值的作用是在后续能够直接获取到该值。我们可以使用 Laravel 的 Cache 类来获取该值:

use IlluminateSupportFacadesCache;

$value = Cache::store('redis')->get('key');

登录后复制

上述代码通过 Cache::store(‘redis’) 会见了 Redis 缓存 ,get 要领获取了 key 对应的 value 值。

删除一个值

当我们需要删除某个缓存时 ,可以使用如下代码:

use IlluminateSupportFacadesCache;

Cache::store('redis')->forget('key');

登录后复制

上述代码通过 Cache::store(‘redis’) 会见了 Redis 缓存 ,forget 要领删除了对应的缓存。

判断一个缓存是否保存

判断缓存是否保存 ,我们可以使用如下代码:

use IlluminateSupportFacadesCache;

if (Cache::store('redis')->has('key')) {
    //
}

登录后复制

上述代码通过 Cache::store(‘redis’) 会见了 Redis 缓存 ,has 要领判断了 key 对应的 value 值是否保存。

使用 Redis 举行行列处置惩罚

在 Laravel 中使用 Redis 举行行列处置惩罚 ,需要先引入行列效劳提供者。翻开 config/app.php 文件 ,找到 providers 数组 ,添加如下代码:

'providers' => [
    // ...
    IlluminateQueueQueueServiceProvider::class,
    IlluminateRedisRedisServiceProvider::class,
    // ...
],

登录后复制

接着 ,我们需要设置行列毗连。翻开 config/queue.php 文件 ,修改如下设置项:

'connections' => [
    'redis' => [
        'driver' => 'redis',
        'connection' => 'default',
        'queue' => 'default',
        'retry_after' => 90,
        'block_for' => null,
    ],
],

登录后复制

其中 ,driver 体现使用 Redis 驱动 ;connection 体现使用的缓存毗连 ;queue 体现使用的行列名称 ;retry_after 体现爆发失败时的重试时间 ,单位为秒 ;block_for 体现获取使命时的壅闭时间 ,单位为秒。

推送使命到行列

接下来 ,我们可以使用如下代码将使命推到行列中:

use IlluminateSupportFacadesQueue;

Queue::push(new SendEmailJob($user));

登录后复制

上述代码使用 Queue::push 要领推送了一个 SendEmailJob 到默认行列中。其中 ,SendEmailJob 是一个自界说的使命类 ,可以实现更重大的逻辑。

执行行列使命

推送使命到行列后 ,我们需要使用以下下令执行使命:

php artisan queue:work

登录后复制

上述下令将启动一个历程来执行行列使命。若是您的效劳器有多个 CPU 焦点 ,可以通过增添 –daemon 选项来启动多个历程来提高使命处置惩罚速率。

总结

Laravel 的 Redis 功效是很是强盛的 ,通过与 Redis 的配合可以实现优异的缓存和行列处置惩罚。在处置惩罚高并发和重大营业时 ,使用 Redis 缓存和行列可以显著提高系统的性能和稳固性。本文简朴先容了 Laravel 的 Redis 用法 ,希望对您的开发事情有所资助。

以上就是laravel的redis用法的详细内容 ,更多请关注本网内其它相关文章!

免责说明:以上展示内容泉源于相助媒体、企业机构、网友提供或网络网络整理 ,版权争议与本站无关 ,文章涉及看法与看法不代表GA黄金甲滤油机网官方态度 ,请读者仅做参考。本文接待转载 ,转载请说明来由。若您以为本文侵占了您的版权信息 ,或您发明该内容有任何涉及有违公德、冒犯执法等违法信息 ,请您连忙联系GA黄金甲实时修正或删除。

相关新闻

联系GA黄金甲

18523999891

可微信在线咨询

事情时间:周一至周五 ,9:30-18:30 ,节沐日休息

QR code
【网站地图】【sitemap】