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教程