laravel框架中环境与缓存使用配置

laravel框架中环境与缓存使用配置

转自

http://www.111cn.net/phper/php-mb/58098.htm


下面来给大家介绍laravel环境配置方法与后面简单的配置了它的缓存,希望文章能给你带来一些帮助。

一般一个项目的开发需要经历开发,测试,预发布,发布这四个流程。
 因此在larave中对这个功能的支持也做的非常好来看代码。laravel默认使用的是production环境,也就是生产环境,那么我们怎么修改呢?
 我们找到bootstrap文件夹下面的start.php文件的这几行代码:


 代码如下 复制代码 


$env = $app->detectEnvironment(array(
     'local' => array('your-mechine-name'),
 ));
 


那么这个该怎么配置呢?
 加入我们这个项目的生产域名为:www.111cn.net,那么我们在本地开发,我个人习惯可以改为:www.fbbin.dev,那么测试环境可以改为:www.fbbin.test,


 代码如下 复制代码 


$env = $app->detectEnvironment(array(
     'local' => array('www.111cn.dev'),
     'test'  => array('www.fbbin.test'),
     'production' => array('www.111cn.net'),
  ));
 


其实后面的数组可以指定多个域名了,这样就很方便的解决了 多个人同时在本地开发但是域名根据自己喜好配置的问题了。
 如果你还有其他的开发流程,同样的方法添加就好了。
 那么现在环境指定了,我们该怎么为当前的环境之前配置项呢?
 我们看到我们的app/config目录下面都是配置项,那么我们只要在当前目录建立一个以当前环境名字命名的文件夹,然后把相关的配置文件写在里面就好了。
 比如我们现在的本地的开发环境,那么我们建立文件夹:app/config/local,那么这个里面可以配置我本地的databases.php的数据库配置文件,session.php session的配置,cache缓存的配置,等等,
 那么系统在加载配置项的时候,会优先加载我们环境的配置项。
 这样,问题搞定了。
 如果要获取当前的运行环境,可通过如下代码:


 代码如下 复制代码 


app()->enviroment()
 




laravel框架缓存使用配置


其实从某种意义来说session也是一种缓存技术,为什么这么说,请看下下面分析。
laravel的缓存支持一下驱动”file”, “database”, “apc”, “memcached”, “redis”, “array”,其他的都不说,这里主要说下memcached和redis,
la(www.111cn.net)ravel框架你会发现他没有支持memcache缓存,而是memcached缓存,为什么,其实memcached缓存是memcache的一个升级版,相比而言,加入了一个锁的机制,详细可以去问百度。关于memcached的缓存配置,在cache.php文件中可以找到。
 这里说下redis,在cache.php中是找不到redis的配置项的,那么在哪里呢?他在databases.php文件中个,laravel把它当作一种DB来配置的。
 同样的session,如果你的驱动选择redis的话,他的配置同样的也是在这里选择。


下面是我的配置代码:


 代码如下 复制代码 
'redis' => array(
  'cluster' => false,
  'default' => array(
   'host'     => '202.109.72.87',
   'port'     => 6379,
   'database' => 0,
  ),
  'cache' => array(
   'host'     => '202.109.72.87',
   'port'     => 6379,
   'database' => 0,
  ),
 ), 


这里不得不说的一个问题在配置以redis为驱动的缓存服务还是session服务,我们都只能使用default这个配置项目,而不能指定特有的配置项,比如我想给我cache配置cache这个key指定的服务器,session也制定其他的,但是,laravel不支持酱紫(可能是我还不知道怎么弄,如果有大牛晓得了,请赐教,谢谢),那么我们要想我们的缓存服务器用我们指定的cache索引所指定的服务该怎么办呢?我们可以试试laravel的IOC,如下:
 方案1:


 代码如下 复制代码 


$redisCache = App::make('cache'); // Assumes "redis" set as your cache
 $redisCache->setConnection('cache'); // Your redis cache connection
 $redisCache->put('testtCacheIndex', 'fbbinValue', 10000);
 


方案2:


 代码如下 复制代码 


$redis = Redis::connection('cache');
 $redis->set('fbbin', 'fbbinValue');
 var_dump($redis->get('fbbin'))
 
from:http://www.111cn.net/phper/php-mb/58098.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值