memcache使用(php操作)

memcache作为一个内存对象缓冲系统,常常用于提高系统的性能,减轻数据库负载等用处,当然还有很多其他的使用场景,这里主要介绍如何进行缓存的使用

下面将会使用php来介绍memcache的使用

1、普通连接使用

a、连接

$mem = new Memcache();
$host = "127.0.0.1";
$port = "11211";
$mem->connect($host, $port);

b、设置值

$mem->set('animal','dog',0,10);

这里的10代表的是当前这个key的过期时间,单位秒

c、获取值

$mem->get('animal');

d、删除key

$mem->delete('animal');

e、清空key

$mem->flush();
2、集群使用

准备好多台memcache服务器,不过这个和原先的普通连接使用有点不同,采用的是addServer方法来添加服务器,然后组成一个集群,如下所示

 "127.0.0.1",
        'port' => '11211'
    ], [
        'host' => "192.168.92.134",
        'port' => '11211'
    ]
];
foreach ($config as $item) {
    $mem->addServer($item['host'], $item['port']);
}
$mem->set('animal', 'dog', 0, 10);
$mem->close();
?>

memcache采用一种crc32算法来把key转化成对应的数字,然后再对服务器数量取余,来决定存储在哪一台服务器上,这个是memcache的集群存储算法。

3、其他知识点

a、缓存过期处理:
memcache对于缓存过期的数据,采用的是懒惰模式处理(对于过期的数据,不会立即删除,而是会直到进行下一次get操作时,才会删除)
b、缓存空间满的处理:
当遇到缓存空间已满,不够存储时,这时要是存储新数据进去,memcache会把旧的缓存项删除,然后腾出空间才能存储新数据。它采用的是和redis一样的算法(LRU策略,最近最少使用)进行删除

你可能感兴趣的:(memcache使用(php操作))