第四章 服务 ―― 缓存.pdfVIP

  • 4
  • 0
  • 约6.75千字
  • 约 8页
  • 2017-06-19 发布于湖北
  • 举报
服务 ―― 缓存 服务 —— 缓存 1、配置 Laravel为不同的缓存系统提供了统⼀的API 。缓存配置位于config/cache.php。在 该⽂件中你可以指定在应⽤中默认 ⽤哪个缓存驱动。Laravel ⽬前⽀持流⾏的缓存后 端如Memcached和Redis等。 缓存配置⽂件还包含其他⽂档化的选项,确保仔细阅读这些选项。默认情况下, Laravel被配置成 ⽤⽂件缓存,这会将序列化数据和缓存对象存储到⽂件系统。对⼤ 型应⽤,建议 ⽤内存缓存如Memcached或APC ,你甚⾄可以为同⼀驱动配置多个缓 存配置。 1.1 缓存预备知识 1.1.1 数据库 ⽤database缓存驱动时,你需要设置⼀张表包含缓存缓存项。下⾯是该表的 Schema声明: Schema::create(cache, function($table) { $table-string( ey )-unique(); $table-text(value); $table-integer(expiration); }); 1.1.2 Memcached ⽤Memcached缓存要求安装了Memcached PECL 包,即PHP Memcached扩展。 Memcached::addServer默认配置 ⽤TCP/IP协议: memcached = [ [ host = , port = 11211, weight = 100 ], ], 你还可以设置host 选项为UNIX socket路径,如果你这样做,port选项应该置为 : memcached = [ [ host = /var/run/memcached/memcached.soc , port = 0, weight = 100 ], ], 1.1.3 Redis ⽤Laravel的Redis缓存之前,你需要通过Composer安装predis/predis包 (~ 1. )。 了解更多关于Redis的配置,查看Larave的Redis⽂档。 2、缓存使⽤ 2.1 获取缓存实例 Illuminate\Contracts\Cache\Factory和 Illuminate\Contracts\Cache\Repository契约提供了访问Laravel的缓存服务 的⽅法。Factory契约提供了所有访问应⽤定义的缓存驱动的⽅法。Repository契 约通常是应⽤中cache配置⽂件中指定的默认缓存驱动的⼀个实现。 然⽽,你还可以 ⽤Cache门⾯,这也是我们在整个⽂档中 ⽤的⽅式,Cache门⾯ 提供了简单⽅便的⽅式对底层Laravel缓存契约实现进⾏访问。 例如,让我们在控制器中导⼊Cache门⾯: ?php namespace App\Http\Controllers; use Cache; use Illuminate\Routing\Controller; class UserController extends Controller{ /** * 显示应⽤所有⽤户列表 * * @return Response */ public function index() { $value = Cache::get( ey ); // } } 2.1.1 访问多个缓存存储 ⽤Cache门⾯,你可以 ⽤store⽅法访问不同的缓存存储器,传⼊store⽅法的 键就是cache配置⽂件中stores配置数组⾥列出的相应的存储器: $value = Cache::store(file)-get(foo); Cache::store(redis)-put(bar, baz, 10); 2.2 从缓存中获取数据 Cache门⾯的get⽅法⽤于从缓存中获取缓存项,如果缓存项不存在,返回null 。如果 需要的话你可以传递第⼆个参数到get⽅法指定缓存项不存在时返回的⾃定义默认 值: $value = Cache::get( ey ); $value = Cache::get( ey , default); 你甚⾄可以传递⼀个闭包作为默认值,如果缓存项不存在的话闭包的结果将会被返 回。传递闭包允许

文档评论(0)

1亿VIP精品文档

相关文档