不作Memcache 介绍 相关文档网上一大堆。请确保服务器安装有Memcache 我们优先使用Memcached 如果你安装有Memcached那优先使用Memcached 系统会自动判断 所有操作支持链式操作。
### 配置
配置支持配置文件配置以及热配置。
### 文档配置
打开 应用目录下 config 配置文件 (主意是否是开发配置如果是开发请选择 APP_ENV 值所对应的文件配置)
所有缓存均配置在cache 二维数组里
~~~
'cache' => [
//memcached
'HF\Cache\Memcache' => [
'status' => true,
'main' => [
'servers' => [[
'host' => '127.0.0.1', //IP地址
'port' => '11211', //端口
'weight' => 1000, //权重
]],
'timeout' => 3600, //缓存生存时间秒
],
]
]
~~~
status 是否开启缓存
main 主配置 是一个二维数组 一个数组里有多个应用池,每个池可以设置相应的权重
main.servers 服务池
main.servers.host 主机IP地址
main.servers.port 端口
main.servers.weight权重
timeout 缓存生存时间
### 热配置
~~~
$config => [
'status' => true,
'main' => [
'servers' => [[
'host' => '127.0.0.1', //IP地址
'port' => '11211', //端口
'weight' => 1000, //权重
]
],
'timeout' => 3600, //缓存生存时间秒
],
]
Memcache::instance($config);
~~~
### 多个池
~~~
'cache' => [
//memcached
'HF\Cache\Memcache' => [
'status' => true,
'main' => [
'servers' => [[
'host' => '127.0.0.1', //IP地址
'port' => '11211', //端口
'weight' => 1000, //权重
],
[
'host' => '127.0.0.2', //IP地址
'port' => '11211', //端口
'weight' => 1000, //权重
],[
'host' => '127.0.0.3', //IP地址
'port' => '11211', //端口
'weight' => 1000, //权重
]],
'timeout' => 3600, //缓存生存时间秒
],
]
]
~~~
### 主从 多个池
~~~
'cache' => [
//memcached
'HF\Cache\Memcache' => [
'status' => true,
'main' => [ //主池
'servers' => [[
'host' => '127.0.0.1', //IP地址
'port' => '11211', //端口
'weight' => 10, //权重
],
[
'host' => '127.0.0.2', //IP地址
'port' => '11211', //端口
'weight' => 20, //权重
],[
'host' => '127.0.0.3', //IP地址
'port' => '11211', //端口
'weight' => 30, //权重
]],
'timeout' => 3600, //缓存生存时间秒
],
'slave' => [ //从池
'servers' => [[
'host' => '127.0.1.1', //IP地址
'port' => '11211', //端口
'weight' => 10, //权重
],
[
'host' => '127.0.2.2', //IP地址
'port' => '11211', //端口
'weight' => 20, //权重
],[
'host' => '127.0.3.3', //IP地址
'port' => '11211', //端口
'weight' => 30, //权重
]],
'timeout' => 3600, //缓存生存时间秒
]
]
]
~~~
### 使用
~~~
//引入空间
use HF\Cache\Memcache;
~~~
### 指定服务器主从
~~~
Memcache::instance()->setServer('slave');
~~~
### 设置缓存(不带模块)
~~~
Memcache::instance()->set("yes", 123, 3600);
//设置一个yes key 的值为 123 有效期为 3600秒
~~~
### 读取缓存 (不带模块)
~~~
Memcache::instance()->get("yes");
//获取key 为 yes 的值
~~~