缓存配置

目录

基础介绍

假设您的应用程序显示了十个最流行的歌曲提供给用户投票评选. 你真的需要在用户每次访问时否访问这十首歌曲吗?如果你可以存储10分钟的歌曲, 甚至一个小时以便大大加快您的应用程序, 该怎么办?使用 laravel缓存会变得非常简单.

laravel提供五个缓存的驱动模式:

  • 文件系统
  • 数据库
  • Memcached
  • APC
  • Redis
  • 内存 (Arrays)

默认情况下, Laravel被配置为使用文件系统缓存驱动, 这是不需要配置的. 文件系统驱动把缓存项作为文件存储在storage/cache目录.如果你满意这个驱动, 没有其他的配置是必需的. 直接使用它就好:

提示: 使用文件系统缓存驱动程序之前, 要确保你的storage/cache目录是可写的.

数据库

数据库缓存使用给定的简单的键值存储数据库表.使用之前, 首先在application/config/cache.php文件中设置数据库表的名称:

'database' => array('table' => 'laravel_cache'),

下一步, 创建数据库表. 该表应具有三个列:

  • key (varchar)
  • value (text)
  • expiration (integer)

就是这样. 一旦您的配置和表的设置设置好, 开始使用缓存吧!

Memcached

Memcached 是超快速, 维基百科和Facebook等网站都在使用的开源分布式内存对象缓存系统. 使用Laravel的Memcached的驱动程序之前, 您将需要安装和配置memcached和PHP的memcache扩展你的服务器上.

一旦Memcached在服务器上安装, 你必须在application/config/cache.php文件上设置驱动程序:

'driver' => 'memcached'

然后, 添加您的memcached服务器到servers数组

Redis

Redis 是一个开源, 先进的键值存储库. 它通常被称为一个数据结构的服务器, 因为键可以包含的字符串(string), 哈希值(hashes), lists, sets, 和被排序的 sets.

在使用Redis的缓存驱动程序之前, 先设置Redis服务器. 在application/config/cache.php文件上设置驱动程序:

'driver' => 'redis'

缓存键值

为了避免与其他应用程序使用的APC, Redis或者memcached命名冲突, Laravel预先准备了一个key属性作为使用这些驱动的前缀, 可以随意更改此值:

'key' => 'laravel'

内存(In-Memory)缓存

"memory"缓存驱动实际上并不在磁盘缓存任何内容. 它只不过是维持当前请求的缓存数据的内部数组. 这使得在任何缓存机制完善前进行单元测试. 它不应该被用来作为一个"真正的(real)"缓存驱动.