Memcached --非关系型内存缓存数据库

一,关系型数据库的瓶颈(mysql, oracle);
1.对数据库的高并发读写;
2.对海量数据的处理;

二,Memcached:是高性能的分布式内存缓存服务器,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度和可扩展性;

特点: 协议简单;基于libevent的事件处理;内置内存存储方式;采用不互相通信的分布式; 服务器停止之后,存储的数据丢失;使用LRU算法删除缓存;

三,centos操作memcached命令;

1.启动 service memcached start | stop | status | restart | reload

进程:netstat -antp | grep memcached ;

2.修改端口等参数 vim /etc/init.d/memcached

四,基本储存操作:

$mc = new memcache();
$mc->connect(‘127.0.0.1’, 11211);

$mc->set(‘key’, ‘value’, 0, 10);
$val = $mc->get(‘key’);

var_dump($val);

$mc->delete(‘key’); //删除数据

$mc->flush(); //强制刷新全部缓存

$mc->close(); //断开与mamcached服务器的链接

《Memcached --非关系型内存缓存数据库》 Screenshot.png

五,高并发的支持:

《Memcached --非关系型内存缓存数据库》 Screenshot-1.png

六,使用Slab分配的算法保持数据: 减少生成内存碎片,提高内存使用效率;
默认储存不大于1M的数据,修改(POWER_BLOCK宏设置为更大数);

七,Memcache 多线程模型(队列算法)
memcache是一个多线程的缓存服务器程序:
主线程(main thread) :接收客户端链接,并把连接分配给工作线程处理
工作线程(worker thread):处理客户端的连接请求;

八,Memcache 分布式布置方案
8.1 普通的Hash分布
8.2 一致性的HASH分布

具体算法和做法 以后找机会探究

    原文作者:君满楼001
    原文地址: https://www.jianshu.com/p/7965f17b766f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞