一切的前提都是已经安装好了redis服务器,并且能启动(我只总结了mac的安装方法:传送门)

我自己使用的是mac系统,有个教程可以参考下,传送门:

1.安装PHP PRedis

  1>PRedis是PHP访问redis的扩展包,只需要下载原码即可,不需要安装PHP扩展(如php-redis.so)。

  2>laravel通过Composer来安装第三方程序包(管理依赖关系)

  3>在Laravel项目根目录下运行如下命令使用Composer安装predis依赖包:

  composer require predis/predis 1.0.*

2.配置

  默认情况下,Redis 服务会提供 16 个数据库,Laravel 使用数据库 0 作为缓存和 Session 的存储。当你在执行命令 php artisan cache:clear 的时候,会把 Session 也连带清除了,导致所有用户需要重新登录。我们的目的是让缓存,也就是默认的 Redis 存储到 0 号数据库,Session 存储在 1 号数据库。('database' => 0,'database' => 1)

1>配置redis数据库

应用的Redis配置位于config/database.php,你可以基于环境随意修改该数组,只需要给每个Redis服务器一个名字并指定该Redis服务器使用的主机和接口。

'redis' => [
  'cluster' => false,   //默认的redis服务器
  'default' => [
  'host' => env('REDIS_HOST', 'localhost'),
  'password' => env('REDIS_PASSWORD', null),
  'port' => env('REDIS_PORT', 6379),
  'database' => 0,
  ],   //供session使用的
  'session' => [
  'host' => env('REDIS_HOST', 'localhost'),
  'password' => env('REDIS_PASSWORD', null),
  'port' => env('REDIS_PORT', 6379),
  'database' => 1,
  ],   //配置更多的redis服务器... ],

2>指定session使用数据库

  修改 config/session.php 文件中connection选项为session:如下

  'connection' => 'session',

3>修改 .env 文件的 SESSION_DRIVER 选项为 redis:如下

  SESSION_DRIVER=redis

4>测试一下

  执行以下命令后检查下是否退出登录:

  php artisan cache:clear

3.进一步分析

  另外Redis如果将是作为缓存工具,我们config/cache.php 文件,请注意下面两个配置

'default' => env('CACHE_DRIVER', 'file'),

'stores' => [
  'apc' => [
    'driver' => 'apc',
  ],   'file' => [
    'driver' => 'file',
    'path' => storage_path('framework/cache'),
  ],   // 其它一些配置省略了...   'redis' => [
    'driver' => 'redis',
    'connection' => 'default',
  ],
],

分析:

  1>此时cache使用的是file驱动

  2>stores数组中redis对应的是默认的redis配置(default,config/database.php文件中redis的配置选项)

  改动:我们可以直接改'default' => env('CACHE_DRIVER', 'redis')这样我们的cache就是用了redis进行缓存(先不考虑.env文件的配置)

进一步分析:

  config/session.php 文件下有'driver' => env('SESSION_DRIVER', 'file'),

  config/cache.php文件下有'default' => env('CACHE_DRIVER', 'file'),

  我们在回头看下.env文件,有如下内容    

CACHE_DRIVER=file
SESSION_DRIVER=redis
QUEUE_DRIVER=sync REDIS_HOST=192.168.1.248
REDIS_PASSWORD=null
REDIS_PORT=6379

  我们知道在这里可以刷新原文件进行的一些配置,在.env文件中我们可以配置session和cache使用哪种方式驱动,我们还可以配置redis的服务器地址等等

4.使用redis

  我们可以在Redis门面上以静态方法的方式调用Redis客户端提供的任何命令,然后Laravel使用魔术方法将命令传递给Redis服务器并返回获取的结果。

  使用前提是引入Redis门面

    use Illuminate\Support\Facades\Redis;

  一些基本使用

    Redis::set('key','value'); //存入redis

    Redis::get('key'); //获取redis中的值

    Redis::lLen('key'); //队列的长度

    Redis::rpop('key'); //右侧出队列

    Redis::rpush('key','value'); //右侧存入队列

    Redis::exists($key) //redis是否存在这个键

laravel框架总结(十三) -- redis使用的更多相关文章

  1. redis 设置密码 laravel框架配置redis

    * 参考资料 redis文档             http://www.redis.cn/documentation.html,  http://redisdoc.com/index.html r ...

  2. [php]laravel框架容器管理的一些要点

    本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章很长,但是内容应该很有用,希望有需要的朋友能看到.php经验有限,不到位的地方,欢迎帮忙指正. ...

  3. 关于laravel 5.3 使用redis缓存出现 找不到Class 'Predis\Client' not found的问题

    昨天使用5.3.版本的laravel框架开发公司新项目, 发现将cache和session设置为了redis,执行了一下首页访问. 如图: laravel 版本号 简单配置一下控制器路由, Route ...

  4. laravel框架容器管理

    来自http://www.cnblogs.com/chy1000/p/7072936.html 本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章 ...

  5. Laravel框架中实现supervisor执行异步进程

    问题描述:在使用Laravel框架实现动态网页时,若有些操作计算量较大,为了不影响用户体验,往往需要使用异步方式去处理.这里使用supervisor和laravel自带的queues实现. Super ...

  6. laravel框架容器管理的一些要点(转)

    本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章很长,但是内容应该很有用,希望有需要的朋友能看到.php经验有限,不到位的地方,欢迎帮忙指正. ...

  7. PHP程序Laravel框架的优化技巧

    Laravel是一套简洁.优雅的php Web开发框架(PHP Web Framework).它可以让你从杂乱的代码中解脱出来,可以帮你构建一个完美的网络app,而且每行代码都简洁.富于表达力.而性能 ...

  8. Laravel框架安装RabbitMQ消息中间件步骤

    Laravel5.6 整合 RabbitMQ 消息队列 简介: Laravel 队列为不同的后台队列服务提供了统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关 ...

  9. Laravel框架中Echo的使用过程

    今天的这篇文章中给大家分享关于laravel框架中echo的使用,文章的内容是一步一步来的,用了16步走完一个过程,过程很清晰,希望可以帮助到有需要的朋友吧.话不多说,直接看内容.官方文档推荐使用 P ...

随机推荐

  1. [原创]快速指定SQLDeveloper所使用JDK的方法

    就众多的免费SQL开发工具来讲,Oracle出品的SQLDeveloper 还是一个很不错的选择. 看到网上不少的帖子讨论SQL Developer 启动的时候报告找不到Java Home(或JDK) ...

  2. ubuntu 更改时区

    更改/etc/timezone Asia/Chongqing sudo dpkg-reconfigure tzdata

  3. BundleConfig.cs

    namespace Knockout.App_Start { public class BundleConfig { public static void RegisterBundles(Bundle ...

  4. iOS 9后修改状态栏方法

    1.plist文件中添加View controller-based status bar appearance字段 值为NO 2.程序中添加 [UIApplication sharedApplicat ...

  5. ASP.NET MVC location.href不跳转

    表单使用submit导致不跳转 <button type="button">

  6. Linux CentOS 中安装 MySql

    CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 $ wget http://repo.mysql.com ...

  7. ios枚举规范

  8. 前端js面试中的常见的算法问题

    虽说我们很多时候前端很少有机会接触到算法.大多都交互性的操作,然而从各大公司面试来看,算法依旧是考察的一方面.实际上学习数据结构与算法对于工程师去理解和分析问题都是有帮助的.如果将来当我们面对较为复杂 ...

  9. rdesktop的使用方法

    工作时一般是开两台电脑 ,一台linux,一台windows,以前也用过虚拟机什么的,但是 有时候 跑起来拖泥带水的十分不爽,所以慢慢的就习惯了两台电脑的工作方式,一般我大部时间都在linux下面.用 ...

  10. 论文阅读(Xiang Bai——【CVPR2016】Multi-Oriented Text Detection with Fully Convolutional Networks)

    Xiang Bai--[CVPR2016]Multi-Oriented Text Detection with Fully Convolutional Networks 目录 作者和相关链接 方法概括 ...