# 在项目中使用

在服务器上安装了 memcached 服务之后,之后又安装了相应的 php memcached 扩展,那么怎么在 laralve 项目中使用呢?

# 修改缓存配置项

查看 cache.php 文件中的缓存驱动

'default' => env('CACHE_DRIVER', 'file'),

修改 .env 配置项

CACHE_DRIVER=memcached

修改缓存驱动配置项之后,就可以使用 Cache 门面进行读写了

# store 方法

在不修改缓存配置项的时候,可以使用 Cache 门面的 store 方法访问各种缓存系统。

# 缓存数据的操作

# 存储项目


Cache::store('memcached')->put($key, $value, $ttl);

Cache::store('memcached')->put($key, $value, now()->addMinutes(10));

// add 方法只会将缓存存储中不存在的项目添加到缓存中
Cache::store('memcached')->add($key, $value, $ttl);

Cache::store('memcached')->remember($key, $ttl, function () {
    // 此次的 cache_value 为回调函数的返回值
    return $cache_value;
});

$value = Cache::rememberForever($key, function () {
    // 此次的 cache_value 为回调函数的返回值
    return $cache_value;
});

Cache::store('memcached')->forever($key, $value);

#### 递增递减

Cache::store('memcached')->increment($key);

Cache::store('memcached')->decrement($key);

Cache::store('memcached')->increment($key,$amount);

Cache::store('memcached')->decrement($key,$amount);


# 读取缓存


// 检索
Cache::store('memcached')->get($key, $default);

Cache::store('memcached')->get($key, function(){
    // 返回默认值
    return 'default_value';
});

# 删除缓存


// 删除
Cache::store('memcached')->forget($key);

// 也可以使用零或者负数来删除项目
Cache::store('memcached')->put($key, $value, 0);

Cache::store('memcached')->put($key, $value, -5);

// flush 方法清除整个缓存,它比较暴力,不会考虑缓存配置,会从缓存中删除所有条目
Cache::flush();