最新消息:

Memcached——一个高性能分布式内存对象缓存系统

Memcached 444浏览 0评论
缓存的基本定义:

狭义概念: 用于 CPU 的相对高速处理与主存(Main Memory)的相对低速处理之间起到卸掉功能的硬件设备。

广义概念:用于速度相差较大的两种硬件之间,起到协调两者数据传输速度差异的结构。

狭义概念来自于 Cache 自 1967 出现以来较长时间内的应用场景。因为 CPU 的数据处理速度远高于主存,所以在 CPU 和主存之间会有高速缓存设备,甚至是多级缓存设备。

广义概念则是已经被广泛接受的一种定义,且广义概念中,Cache 不再只局限于硬件,也可以是软件。比如用于网络相对低速传输与磁盘相对高速传输之间的速度差异协调。

Cache 的本质原理

    Cache 把要到慢速设备中取的数据预先放到快速设备中。

Cache 的分类

    CPU Cache:置于 CPU 和主存之间,用于加速 CPU 对主存的相对慢速操作;

    Browser Cache:置于客户端与服务器之间,用于加速客户端对服务器的相对慢速操作;

    Server Cache:置于网络请求与本地文件之间,用于加速网络请求对本地文件的相对慢速操作;

    CDN:CDN 即 Content Delivery Network,在各地设置的节点 Cache,加速用户对服务网络的相对慢速操作;

    Database Cache:数据库缓存;

    OS Cache:内存中存在的对于硬盘读写的缓冲区域;

Memcached基本概念:

    Memcached 是一个自由开源的,高性能,分布式内存对象缓存系统。和 Redis 类似,Memcached 是一种基于内存的 key-value存储,用来存储小块数据(字符串、对象)。这些数据可以使数据库调用、API调用或者页面渲染的结果。
    Memcached 简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的 API 兼容大部分流行的开发语言。本质上,它是一个简洁的 key-value 存储系统。

memcached.jpg

主要特征:

    协议简单、基于libevent 的时间处理、内置内存存储方式、Memcached 不互相通信的分布式。

Deepin 上的安装与基本使用
#安装Memcached
sudo apt-get install memcached
#安装Memcached PHP扩展
sudo apt-get install -y php7.2-memcached

在PHP中使用示例

$mem = new Memcached();
$mem->addServer('127.0.0.1', 11211);
$mem->set('foo', 'hello !');
$mem->set('bar', 'wecot.');
print_r([$mem->get('foo'), $mem->get('bar')]);

输出结果

Array
(
    [0] => hello
    [1] => wecot
)

PHP 中使用 Memcached方法

    系统类:addServer、addServers、getStats、getVersion

    数据类:add、set、get、delete、flush、replace、increment、decrement

    进阶类:setMulti、getMulti、deleteMulti、getResultCode、getResultMessage

注意事项

    1、不要在单机模式中使用Memcached,因为 Memcached 的启用会占用很大的内存资源;

    2、切勿使用 Memcached 保存持久化数据;

    3、定期查看缓存的分布状况和命中情况。

转载请注明:微刻 blog.wecot.cn » Memcached——一个高性能分布式内存对象缓存系统

与本文相关的文章

  • 暂无相关文章!
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址