一、前言

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=null
REDIS_PORT=6379

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

cluster 选项会告诉 Laravel Redis 客户端在你的 Redis 集群中进行客户端的分片,这样就可以构成节点池并且创建大量有效的 RAM。但是,你需要注意的是客户端分片并不能处理故障转移。因此,它主要用来从一个主要数据存储地址获取可用的缓存数据。

另外,你可以在你的 Redis 连接定义里添加一个 options 数组,这样你可以指定 Predis 的客户端选项。

如果你的 Redis 服务器引入了认证机制,那么你需要在你的 Redis 服务配置数组中添加一个 password 配置项来提供凭证。

二、与 Redis 进行交互

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

1. 基本使用

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

<?php

namespace 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);
}
});

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


本文首发于马燕龙个人博客,欢迎分享,转载请标明出处。

马燕龙个人博客:http://www.mayanlong.com

马燕龙个人微博:http://weibo.com/imayanlong

马燕龙Github主页:https://github.com/yanlongma

Laravel 中使用 Redis 数据库的更多相关文章

  1. spring-java项目中连接redis数据库

    最近由于项目需要,要从redis数据库中查询一些数据,还没有了解过redis,只好硬着头皮上阵,记录一下连接过程: 1.需要导入两个jar包:jedis.jar,spring-data-redis.j ...

  2. C#.Net Core 操作Docker中的redis数据库

    做软件开发的人,会在本机安装很多开发时要用到的软件,比如数据库,有MS SQL Server,MySQL,等,如果每种数据库都按照在本机确实有点乱,这个时候我们就想用虚拟机来隔离,这样就不会扰乱本机一 ...

  3. Spring Boot中使用Redis数据库

    引入依赖 Spring Boot提供的数据访问框架Spring Data Redis基于Jedis.可以通过引入spring-boot-starter-redis来配置依赖关系. <depend ...

  4. Laravel中使用Redis

    安装PHP PRedis PRedis是laravel访问redis的扩展包,只需要下载原码即可,不需要安装PHP扩展(如php-redis.so).但在这之前需要了解一个composer,因为lar ...

  5. Laravel中如何做数据库迁移

    总的来说,做一次独立数据库迁移只需要三步,分别是创建迁移文件.修改迁移文件.运行迁移 1.创建数据库迁移文件php artisan make:migration create_articles_tab ...

  6. laravel中如何使用Redis(Redis是什么)

    laravel中如何使用Redis(Redis是什么) 一.总结 一句话总结: 基于内存亦可持久化键值数据库 Redis是完全开源免费的,遵守BSD协议,是一个高性能的键值数据库.是当前最热门的的的N ...

  7. Laravel中Redis的使用

    安装 laravel中使用redis首先需要你通过 Composer 安装 predis/predis 包: composer require predis/predis 配置 redis的配置文件是 ...

  8. laravel中redis各方法的使用

    在laravel中使用redis自带方法的时候会发现许多原生的方法都不存在了,laravel对其进行了重新的封装但是在文档中并没有找到相关的资料最后在 \vendor\predis\predis\sr ...

  9. 在Ubuntu中安装Redis

    原文地址:http://blog.fens.me/linux-redis-install/ 在Ubuntu中安装Redis R利剑NoSQL系列文章,主要介绍通过R语言连接使用nosql数据库.涉及的 ...

随机推荐

  1. vue.js 踩坑第一步 利用vue-cli vue-router搭建一个带有底部导航栏移动前端项目

    vue.js学习 踩坑第一步 1.首先安装vue-cli脚手架 不多赘述,主要参考WiseWrong 的 Vue 爬坑之路(一)-- 使用 vue-cli 搭建项目 2.项目呈现效果 项目呈现网址:w ...

  2. 【2017-03-16】TSQL基本编程、存储过程、触发器

    一.TSQL基本编程 1.定义变量 :declare @变量名 数据类型        变量名前面必须加"@"符号 declare @aaa int; declare @bbb n ...

  3. JQ万能轮播图

    lunbotu.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8">  ...

  4. ng-clip angualr 的copy功能

    每次写博客都想由衷的给我的老大膜拜一番!以前刚开始做angular的项目的时候就有说要有点击复制的功能因为当时菜啊,不懂啊.也就没做,今天老大又给了我一个资料!“ng-clip”.跟着老大最大的收获就 ...

  5. ELK5.0安装教程

    ELK升级后,安装稍微发生了点变化,在Elasticsearch中增加了很多资源上的限制,其他的倒是没什么变化.不过所有的安装都是基于JDK已经安装完的情况,且为1.8版本. 安装Elasticsea ...

  6. C++移位运算符详解

    移位运算符包括左移"<<"和右移">>" 左移运算符<<: 1.无符号 语法格式:需要移位的数字<<移位的次数n ...

  7. textContent、innerHTML、innerText、outerText、outerHTML、nodeValue使用场景和区别

    今天要讲的这些属性都可以用来获取某个元素的内容,你可能会觉得不可思议,或是说上一句"丧心病狂"也.但当你看完以下内容后,会发现除outerText无用外,其他的都有各自的使用场景, ...

  8. mac开发环境配置

    折腾了好几天了,终于安装一部分了,mac装的win10,太占空间了,看到学习资源使用的工具,自己搜了一下安装了,在学习使用git的时候,都说mac比win好用多了,我tm为啥抱着mac装win费劲呢! ...

  9. Windows:将cmd命令行添加到右键中方法

    win10中将命令行cmd添加到右键的方法 Windows cmd 右键 win10 命令行 最近在学python,所以会用到很多库文件,但是有的库文件需要下载whl文件再通过cmd进行安装,所以每次 ...

  10. Redis简单几步

    第一步redis安装:1.首先确认下载包为64位的还是32位的2.下载http://code.google.com/p/servicestack/downloads3.解压下载包得到以下文件:cygw ...