2017-08-25 17 views
1

私はキャッシュドライバとしてmemcachedを選択しました。しかし、奇妙な問題に遭遇しました。laravel memcachedがCACHE_DRIVERとして動作しないようです。

私がやってたら:私は

var_dump(Cache::get('name')) 

を与えれば非常に次の行に

Cache::put('name','John',15); 

それは私を示しています。

bool(false) 

が間違ってここに何が起こっているのか理解できませんでした。私はtelnetできる私のlocalhost上の11211番ポートでmemcachedを実行しています。

phpinfo()は、php-memcachedライブラリがインストールされていることを示しています。

私のconfig/cache.phpファイルが読み込み:

'default' => env('CACHE_DRIVER', 'memcached'), 
'stores' => [ 

    'apc' => [ 
     'driver' => 'apc', 
    ], 

    'array' => [ 
     'driver' => 'array', 
    ], 

    'database' => [ 
     'driver' => 'database', 
     'table' => env('CACHE_DATABASE_TABLE', 'cache'), 
     'connection' => env('CACHE_DATABASE_CONNECTION', null), 
    ], 

    'file' => [ 
     'driver' => 'file', 
     'path' => storage_path('framework/cache'), 
    ], 

    'memcached' => [ 
     'driver' => 'memcached', 
     'servers' => [ 
      [ 
       'host' => env('MEMCACHED_HOST', '127.0.0.1'), 'port' => env('MEMCACHED_PORT', 11211), 'weight' => 100, 
      ], 
     ], 
    ], 

    'redis' => [ 
     'driver' => 'redis', 
     'connection' => env('CACHE_REDIS_CONNECTION', 'default'), 
    ], 

], 
'prefix' => env('CACHE_PREFIX', 'laravel'), 

助けてください。

答えて

1

あなたはタイプミスがあります。キャッシュに値を設定する方法はput()ですが、get()を2回使用しました。試してみてください:

Cache::put('name','John',15); 
+0

申し訳ありませんが、それは質問そのもののタイプミスです。私はputだけを使用しています。 – debaShish

0

最後に、私はグーグルの一日の後、解決策を見つけました。

私がブートストラップ/ app.phpに次の行を追加しなければならなかったようだ。また、あなたはVM /ドッキングウィンドウコンテナ内でアプリケーションを実行している場合、あなたがする必要があることに注意してください

$app->configure('cache'); 

ホストのIPを提供してください。

+0

私のアプリケーションは英雄です。私が次に試してみるとき Cache :: put( 'name'、 'John'、15); Cache :: get( 'name')これは=> John と表示されますが、すぐにコメントします。 // Cache :: put( 'name'、 'John'、15); [、 'memcachedの' => [ 'ドライバ' => 'memcachedの' 'サーバ' =>: キャッシュ::( '名前')を取得表示何も 任意のアイデア コンフィグ場合は私に知らせてください [ 'ホスト' => ENV( 'MEMCACHED_HOST'、 '127.0.0.1')、 'ポート' => ENV( 'MEMCACHED_PORT'、11211)、 '体重' => 100、 ]、 ] ]、 – Yogesh

関連する問題