Laravel框架中实现使用阿里云ACE缓存服务(2)_PHP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
这篇文章主要介绍了Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存,本文扩展了一个支持SASL 认证模式的Memcached缓存驱动,需要的朋友可以参考下 Laravel 是我最近用得非常多而且越用就越喜欢的一款PHP框架,由于没有向下兼容的历史包袱,完全面向对象的风格,借

  这段代码比较简单,不过要特别注意一下 get($key) 方法的实现。标准 memcached 以及 ACE 的缓存对象的 get 方法都是key有效时返回对应的缓存值,否则返回false,而在 Laravel 4 中,是通过检测 get 方法返回的是否 null 来做判断,所以这里需要处理一下,返回缓存值或者null。

  AceMemcachedStore类已经创建好了,接下来在 bootstrap/start.php 文件中扩展 Cache:

  打开 bootstrap/start.php, 添加以下代码:

  代码如下:

  // 扩展名为 ace 的缓存驱动

  Cache::extend('ace', function($app)

  {

  // 从 app/config/cache.php 文件中读取 "ace" 的值

  $space = $app['config']['cache.ace'];

  // 从 app/config/cache.php 文件中读取 "prefix" 的值

  $prefix = $app['config']['cache.prefix'];

  // 创建 \Ace\AceMemcachedStore 对象

  $store = new \Ace\AceMemcachedStore($space, $prefix);

  // 创建并返回 \Illuminate\Cache\Repository 对象

  return new \Illuminate\Cache\Repository($store);

  });

  指定系统使用 'ace' 作为缓存驱动:打开 app/config/cache.php,找到 'driver' => '...' 所在行,修改为:'driver' => 'ace'.

  使用和限制

  通过以上操作,就可以在 Laravel 4 中调用 ACE 的缓存服务,使用上与平常的用法完全一致,比如:

  代码如下:

  // 添加缓存,有效时间10分钟

  Cache::put('my_key', 'my value', 10);

  // 读取缓存

  Cache::get('my_key')

  // 判断缓存是否存在

  Cache::has('my_key')

  // 数据查询缓存

  $users = DB::table('users')->remember(10)->get();

 

  但是由于 ACE 缓存对象本身的限制,只能删除指定 key 的缓存对象,不能遍历、全量操作,因此 Cache::flush() 方法就不能使用。在上面的 AceMemcachedStore 对象中,flush 方法没有做任何操作,只是返回 false.

分享:php函数mysql_fetch_row、assoc、array、object的区别
一、mysql_fetch_row 这个函数是从结果集中取一行作为枚举数据,从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。 注意,这里是从0开始偏移,也就是说不能用字段名字来取值,只能用索引来取值。例

共2页上一页12下一页
来源:模板无忧//所属分类:PHP教程/更新时间:2015-02-10
相关PHP教程