本文主要介绍利用Memcached构建缓存服务器的方法。这篇文章很详细,对你的学习或者工作有一定的参考价值。有需要的朋友可以参考一下。
前言
许多Web应用程序将数据保存到关系数据库(RDBMS)中,应用服务器从其中读取数据并在浏览器中显示。
但随着数据量的增加和访问的集中,RDBMS的负担会增加,数据库响应会变差,网站显示会延迟。
Memcached/redis是一个高性能的分布式内存缓存服务器。通过缓存数据库查询结果,可以减少数据库访问次数,从而提高动态Web等应用的速度和可扩展性。
RDBMS是关系数据库管理系统。
1。导言
1.nosql产品:redis,mongodb,memcached。
NOSQL名词解释:非关系数据库
(1)以键-值对的形式存储数据-(键-值)
(2)缓存数据库——缓存服务器的作用:加快访问速度,缓解数据库压力
2.NoSQL的优势/劣势
优点:
-高可伸缩性
-分布式计算
-低成本
-架构的灵活性
。
缓存服务器的作用:加快访问速度,减轻数据库压力
3.关系数据库和非关系数据库的区别:-
1.先了解什么是关系数据库?
关系数据库最典型的数据结构是表,是由二维表及其关系组成的数据组织。
优点:
1。易于维护:全部采用表格结构,格式一致;
2。易于使用:SQL语言是通用的,可以用于复杂的查询;
3。复杂 *** 作:支持SQL,可用于一个表和多个表之间非常复杂的查询。
缺点:
1。读写性能差,尤其是海量数据的高效读写;
2。固定表结构灵活性稍差;
3。高并发读写要求,硬盘I/O是传统关系数据库的一大瓶颈。
2。什么非关系数据库?
非关系数据是结构化数据存储方法的集合,可以是文档,也可以是键值对等。
优点:
1。灵活的格式:存储数据的格式可以是键、值、文档、图片等。,使用灵活,应用场景广泛,而关系数据库只支持基本类型。
2。速度快:nosql可以使用硬盘或RAM作为载体,而关系数据库只能使用硬盘;
3。高可扩展性;[br/]
4。成本低:nosql数据库部署简单,基本是开源软件。
缺点:
1。它不提供sql支持,所以学习和使用成本很高;
2。无交易;
3。数据结构相对复杂,在复杂查询方面稍有不足。
2、memcached
1.特征
1.内置内存存储模式——为了提高性能,memcached中存储的所有数据都存储在memcache的内置内存存储室空。由于数据只存在于内存中,重新启动 *** 作系统将导致所有数据消失
2。简单的键/值存储——服务器不关心数据本身的含义和结构,只要是可序列化的数据。
存储由四部分组成:密钥、到期时间、可选标志和数据。
2。服务框架
原理1.检查客户端的请求数据是否在memcached中,如果是,直接返回请求数据,不再对数据库进行任何 *** 作。路径 *** 作为①②③⑦。
2.如果请求的数据不在memcached中,就去数据库,把从数据库中获取的数据返回给客户端,把数据的一个副本缓存到memcached中(memcached客户端不负责,所以需要程序显式实现)。路径 *** 作为①②④σ⑥⑥。
3.保持缓存的“新鲜感”。每当数据发生变化时(例如,当数据被修改或删除时),有必要同步更新的缓存信息,以确保用户不会从缓存中获取旧数据。
3。配置并安装Memcached
memcache可以存储多少数据取决于服务器本身有多少内存。
1.安装-准备服务器。
[root@memcached~]#yuminstallmemcached-y [root@memcached~]#systemctlstartmemcached#启动2.修改配置文件
[root@memcached~]#vim/etc/sysconfig/memcached PORT="11211"---监听的端口,默认11211.可以修改 USER="memcached"-----用户 MAXCONN="1024"-----默认并发,可以修改 CACHESIZE="64"------给的内存。默认是M OPTIONS=""----监听的网络地址然后把ip地址发给开发者,开发者会用api接口连接memcached。
测试:
说明:
Name:key的名字是自己定义的
0:key的id号,需要与其他key不同
60:缓存过期时间,以秒为单位,0表示永远
[
不使用的原因:存储的数据类型单一,数据只能存储在内存中。无法保存数据,服务器将重新启动,数据将消失。
===================================================================
[root@memcached~]#rpm-Uvhhttps://mirror.webtatic.com/yum/el7/epel-release.rpm [root@memcached~]#rpm-Uvhhttps://mirror.webtatic.com/yum/el7/webtatic-release.rpm [root@memcached~]#yum-yinstallphp70w.x86_64php70w-cli.x86_64php70w-common.x86_64php70w-gd.x86_64php70w-ldap.x86_64php70w-mbstring.x86_64php70w-mcrypt.x86_64php70w-mysql.x86_64php70w-pdo.x86_64php70w-develzlib-develphp70w-fpmlibmemcachedphp70w-pecl-memcached [root@memcached~]#yuminstall-ymakegcczlib-devellibmemcached-develgit下载PHP内存缓存扩展包
安装nginx略,配置nginx的yum源。测试访问php的页面。 [root@memcached~]#vim/etc/nginx/conf.d/nginx.conf server{ listen80; server_namelocalhost; location~\.php${ root/usr/share/nginx/html; fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; includefastcgi_params; } } 编辑php页面 [root@memcachedhtml]#vim/usr/share/nginx/html/index.php <?php phpinfo(); ?> 重启nginx 启动php-fpm 浏览器访问关于用Memcached构建缓存服务器的方法,本文到此结束。有关Memcached缓存服务器的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)