首页 » PHP教程 » phpmemcache视频教程技巧_memcachedmemcache根本

phpmemcache视频教程技巧_memcachedmemcache根本

访客 2024-11-12 0

扫一扫用手机浏览

文章目录 [+]

如果对运维课程感兴趣,可以在b站上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技能视频

1 memcached简介

phpmemcache视频教程技巧_memcachedmemcache根本

是一套数据缓存系统或软件,用于在动态系统中缓存数据库数据,减少数据库的访问压力,达到提升网站系统性能的目的。
在企业中运用处景中一样平常用来作为数据库的cache做事利用,memcached是通过预分配指定的内存空间来存取数据的,因此它比数据库直接操作磁盘要快的多,可以供应比直接读取数据库更好的性能。

phpmemcache视频教程技巧_memcachedmemcache根本
(图片来自网络侵删)

软件

浸染

缓存的数据

Memcached,redis

后端数据库的缓存

动态的数据,如:博文、BBS帖子

Squid,nginx,varnish

前端web运用的缓存

静态数据,如:图片、附件、js、css、html等

2 Memcache做事在企业集群架构中运用的角色

1)作为数据库的前端缓存运用。

2)session会话共享的共享存储。

负载均衡的lnmp或lamp的php.ini配置文件中可配置session_save 指向配置好的memcached的做事器,这样用户登录的会话信息可以在memcached做事器中共享会话信息。

3 Memcached做事在运用中的事情流程

客户端访问web做事,再由web做事的php程序须要访问后端数据库获取数据时,通过设置php程序让客户端优先访问memcached内存缓存,如果缓存中有数据就直接返回前端web做事运用,如果memcached中没有数据,php程序(web做事)会访问后真个mysql数据库做事器,当php程序取得了后端mysql做事器给的数据后,php程序除了返给客户端数据外,还会把数据在memcached的内存中进行缓存,等待下次被访问,从而大大的减轻了数据库的压力,提高全体

2)网站架构的相应速率,提升了用户体验。

3)当程序更新、删除数据库中已有的数据时,会同时发送要求关照memcached已经缓存过的同一个ID内容的旧数据失落效,从而担保memcached中的数据和数据库中的数据同等。

4)如果在高并发场合,处理关照memcached过期的缓存失落效外,还会通过干系机制,使得在用户访问新数据前,通过程序预先把更新过的数据推送到memcached中缓存起来,这样可以减少数据库的访问压力,提升memcached中缓存的命中率。

4 Memcached做事在大型站点中的运用

险些所有的网站,当访问量增大时,在全体网站集群架构中最先涌现瓶颈的一定是数据库角色的做事器及存储角色的做事器,在事情中我们是只管即便把用户的要求往前推,即当用户要求数据时,越是在靠近用户的一端把数据返回就越好。

5 缓解数据库的高并发访问压力的方案

1)在数据库层配置数据读写分离及读数据库做负载均衡。

2)更有效率的是支配memcached做事作为一个缓存区域,把部分数据库的信息保存在内存中,由于memcached也有单台单点毛病,以是memcached也有负载均衡的运用处景。

6 memcached的删除机制

Memcached在分配空间时,优先利用已经由期的key/value对空间,当分配的内存空间占满时,memcached就会利用LRU算法来分配空间,删除最近最少利用的key/value对,将其空间分配给新的key/value对。
在某些情形下,如果不想利用LRU算法,那么可以通过“-M”参数来启动memcached,这样memcached在内存耗尽时,会返回一个报错信息。

7 数据库企业案例

征象:数据库负载很高,用upload查看负载,load值20-30,上岸数据库查看:show processlist;show full processlist; mysql -uroot -p123 -e “show full processlist” |grep -vi sleep,创造数据库中像LIKE‘%……%’这样的内允许多。

缘故原由:网站的搜索框所致,搜索次数太多,导致数据库负载高。

优化方案思路:

1)从业务上实现用户上岸后再搜索,这样减少搜索次数,从二减轻数据库做事压力。

2)如果有大量频繁的搜索,一样平常是由爬虫在爬你的网站,剖析web的IP封掉。

3)配置主从同步,程序实现读写分离(末了让LIKE这样的语句从从库去查询,减轻压力)

4)LIKE ‘%……%’这样的语句在mysql中一样平常很难优化,可以通过搜索做事Sphinx软件实现搜索。

5)在数据库前面加上memcached缓存做事器。

Memcached解释:Memcached有做事端和客户端之分,memcached是做事端,memcache是客户端。

企业事情场景中如何配置memcached

在事情中,一样平常都是开拓职员提出需求,说要支配一个memcache做事,作为缓存,我们运维接到需求,内存指定多大根据业务有多少数据要缓存来确定。
还须要确定业务主要性,进而采纳负载均衡,分布式等架构,末了确定并发连接数。
实际的支配一样平常便是安装memcached做事端并确保能够连接上。

Memcached管理

1)telnet ip port 办法管理

2)命令直接操作,nc这样的命令

通过nc查看memcached的状态: printf “stats\r\n”|nc 127.0.0.1 11211

3)监控工具memadmin软件包。
memadmin-1.0.11.tar

如果对运维课程感兴趣,可以在b站上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技能视频

相关文章