第Linux系统memcache安装及缓存

linux下memcache的安装和启动 安装memcache之前要记得先安装libevent类库,可以选择直接联网下载,使用wget命令即可: Linux的系统中,有时候需要wget下载一个文件,而下载地址中的文件名却非常长,导致下载失败,提示:Cannot write to和filename too long 解决这个问题只需要把下载的文件输出为一个固定的文件名。 比如:sudo wget https://github.com 阅读详情

1、大型项目优化概述

1.1、PHP项目执行流程

在上述流程中每一个环节都可能会存在性能问题

1.2、优化方案

1.2.1、客户端请求web服务器

例如客户端是电信网络web服务器所接入的为教育网络。由于线路不一致需要进行转换因此导致缓慢。解决办法web服务器部署多线路

1.2.2、web服务器解析请求

1、PHP代码优化

2、PHP引擎的解析速度

3、缓存编译之后的结果(每次解析相同的文件不需要翻译)

1.2.3、MySQL处理

对于mysql数据库本身不能承载一个比较高的访问量并且不同的SQL语句性能都不一样。Mysql本身会存在很大的性能问题

1.3、优化可用技术

1.3.1、现有的解决方案

1.3.2、可用技术

1、网站开发中尽量使用较小的资源文件

2、使用压缩技术(gzip)

3、使用cdn加速资源文件

4、使用缓存技术(内存缓存redis/memcache/页面静态化)

5、对数据库进行优化

6、网站架构重构采用分层模式设计

7、使用负载均衡技术

8、数据库使用读写分离或者分布式技术

9、对相关软件配置进行优化

10、升级硬件

2、Memcache概述

2.1、Memcache介绍

Memcache是一个基于内存的键值对的缓存系统

2.1、关于内存

Memcache本身只是一款软件,能够去操作内存中的数据。因此memcache将数据保存在内存中。在内存中数据不太安全一旦断电重启就会导致内存数据丢失

2.2、键值对

键值对即key-value的一个对应关系。可以通过名称就找到对应的数据。键值对可以理解为PHP中的变量 通过变量名称即可获取到对应的值

2.3、缓存系统

缓存系统为一个临时存储数据的介质

1、当获取数据时先读取缓存系统中的内容。如果读取到数据则直接使用。否则先查询原始数据(数据库),获取数据之后在将数据保存到缓存系统中

2、当修改数据时先修改原始数据。在更新缓存系统中的内容(修改数据或者删除数据)

2.4、Memcache安装

2.4.1、安装memcache

①关于软件包说明

②创建memcache安装目录

③拷贝安装文件

④运行cmd进入memcache安装目录

先以管理员身份运行cmd

进入memcache安装包目录

2.4.2、以非服务方式安装

2.4.3、以服务方式进行安装

①安装成为服务

②查看自己计算机中的服务

③开启服务

选中服务启动即可

或者使用命令启动

2.4.4、memcache的其他参数

-p:指定memcache的端口号 默认为11211

-d :start/stop:启动或者关闭memcache

-d: install/uninstall:安装/卸载memcache服务

-u:指定memcache运行的用户 只针对Linux下有效

-m:指定memcache最多能够使用的内存大小默认为64M

-c:指定memcache最大的并发连接数 默认为1024个

memcache.exe -help

2.5、Telnet工具使用

①直接在命令行中运行telnet命令

报错说明目前没有安装telnet工具

②打开控制面板进入程序和功能

③点击启用或者关闭Windows功能

④开启telnet客户端

⑤使用telnet工具

当再次执行在命令行中telnet会进入到如下界面

⑥使用telnet连接本机的memcache服务

2.6、演示memcache使用telnet基本使用

3、memcache中的命令

3.1、set指令(重点)

作用:用于设置数据(通过memcache向内存写入数据)

语法:set 键名 0|1(是否需要压缩) 0(有效时间0表示永不过期) 指定数据的字符长度(注意写完之后要回车)

具体的数据

3.1.1、键名说明

键名要求是尽量简短但是又需要表示出含义。键名最多能够支持250个字符。例如使用memcache存储用户信息user_info_id_1

3.1.2、关于是否压缩

0:表示不压缩,不压缩直接将数据保存到内存中,相对于压缩功能不压缩速度更快但是会占用较高的存储空间

1:表示压缩。压缩将数据处理之后再保存到内存中。相对于不压缩功能压缩速度略差但是会占用存储空间会少

3.1.3、关于有效时间

指定数据在内存中保留的时间。属于一个整形数字单位为秒。当值为0表示数据长期保存。

3.1.4、存储的数据

在memcache中只能保存字符串的数据格式。并且数据大小有上限最大能存储1M的数据

3.1.5、演示修改数据

Set指令能够实现数据的添加与修改功能

3.1.6、演示有效时间

3.2、get指令(重点)

作用:用于通过memcache从内存中读取数据

语法:get 键名

3.3、add指令

作用:通过memcache向内存中添加数据

语法:与set指令一模一样

3.4、delete指令

作用:将key对应的数据删除掉

语法:delete 键名

3.5、incr指令

作用:将键名对应的内容进行增加

语法:incr 键名数字

3.6、decr指令

作用:将键名对应的内容进行减少

语法:decr 键名数字

3.8、flush_all指令

作用:清除通过memcache所操作的内存中的数据

语法:flush_all

此命令很危险生成环境下绝对不会使用。一旦使用会造成雪崩效应(多次重启mysql之后会回归正常)。想要处理合适可以使用keepalive软件对memcache服务器进行心跳检测

3.9、stats指令

作用:查看服务器状态

语法:stats

Memcache服务器性能有一个命中率进行衡量

命中率=get_hits/cmd_get*100%

一般memcache命中率在70-90之间都算正常

4、PHP操作memcache

4.1、开启memcache扩展

①先查看phpinfo信息

②下载对应的dll文件

③查看自己的PHP扩展目录所在地址

④拷贝扩展文件到对应的目录下

⑤修改php配置文件

⑥重启apache查看信息

备注:关于memcache的扩展一共是有两套。分别为memcache跟memcached。对于两套扩展都可以通过php操作memcache。只是用法上有一点区别

4.2、使用php操作memcache

①查看文档中说明

②编写代码

③效果

 

5、memcache能够支持的php数据类型

5.1、回顾php中的数据类型

5.1.1、基本数据类型

整形

浮点

字符串

布尔

5.1.2、复合数据类型

数组

对象

5.1.3、特殊数据类型

资源

null

5.2、使用基本数据类型存储数据

①编写代码测试

②查看结果

从上述的结果中得知PHP中的四种基本数据类型都支持

5.3、使用数组数据类型存储

①创建测试代码

②执行后查看结果

③使用原始的telnet工具查看

从上述结果中可知对于PHP中数组数据类型本身memcache不支持。但是由于PHP的扩展在写入数据类型数据时会先转换为字符串。在读取数据时得到结果之后会转换为数组格式

5.4、使用对象数据类型存储

①编写测试代码

②访问查看结果

③通过使用telnet查看

从上述结果中对于memcache本身也不支持对象数据类型。同样是由于php扩展进行序列化操作之后导致可以支持

 

5.5、使用特殊数据类型存储

①代码

②查看效果

 

③查看telnet工具

④再次编写代码测试

从上述结果中发现空数据类型可以支持但是资源不支持。

 

总结:PHP中的数据类型除了资源数据类型之外,其他的数据类型都可以支持。但是在对于其他的数据类型的支持是有PHP扩展实现

Memcache本质是只支持字符串的数据类型

6、memcache的使用场景

6.1、memcache使用场景

1、作为缓存系统使用

2、使用memcache实现session共享

3、作为分布式存储

6.2、分布式存储

6.2.1、分布式存储介绍

将数据保存到不同的memcache服务器中。可以提升memcache性能。并且存储上限也可以突破

6.2.2、Linux下安装memcache服务

①将memcache对应的软件包使用ftp上传

②命令行进入上传目录解压libevent

③进入解压目录执行configure

④安装

⑤回到root目录解压memcache源码包

⑥进入解压目录执行configure

⑦安装

⑧启动memcache服务

⑨检查memcache是否正常启动

⑩关闭防火墙

6.2.3、使用memcache管理软件

memadmin为memcache的管理工具,是使用php编写的工具

①将memadmin源码拷贝到web目录下

②查看用户名与密码

③使用浏览器访问

此步骤使用自己的账户密码登录,如果第二步没有修改用户名与密码都是admin

④添加本机的memcache连接

⑤添加Linux中的memcache连接

⑥开始管理

⑦使用memadmin工具查看数据

6.2.4、实现memcache的分布是存储

①将memcache中数据全部清空

针对两台memcache都执行

②创建代码

④访问查看效果

 

⑤查看memadmin中各服务器中的数据

对于memcache分布式寸存储并不是memcache本身就支持此功能。由于PHP的memcache扩展会自动的对key进行运算决定具体的内容应该操作那一台memcache服务器

6.3、memcache存储session

6.3.1、session的常见存储方式

1、使用文件存储session信息

2、使用数据库存储session信息

3、使用memcache存储session信息

6.3.2、session机制(重点)

6.3.3、修改session机制实现数据库存储

①创建测试数据表

CREATE TABLE `session` (

 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,

 `sessionid` varchar(255) NOT NULL DEFAULT '',

 `data` varchar(255) NOT NULL DEFAULT '',

 PRIMARY KEY (`id`),

 UNIQUE KEY `session` (`sessionid`) USING BTREE

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

②修改session机制查看具体流程

③将session信息保存到数据库中

 

 

 

 

 

 

linux实现缓存安装 linux实现缓存安装,适用于centos和redhat操作系统。。。 立即下载

相关推荐

Linux环境下Memcache的安装

Linux环境下Memcache的安装

Linux系统群集——Memcache

NoSQL介绍、Memcached服务介绍(Memcache和Redis对比、Memcache工作机制)、Memcache安装、Memcache选项、Memcache使用(Memping、Memstat)、Memcached命令(add、set、get、delete、flush)、Memcached集群部署架构(部署Repcahed、使用HAproxy高可用部署)

一坨小橙子的博客 2037

ubuntu17.04 UHD 驱动出错

ubuntu 17.04 源码安装UHD

xrh003的博客 1万+

linux下操作memcache的操作命令

1、连接memcache linux下一般使用telnet连接memcache服务 [root@localhost ~]# telnet 127.0.0.1 11266 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. 这样就连接成功了,使用以下命令进行操作: 添加修改key-value ...

weixin_30398227的博客 1001

探索Vortex开源GPGPU:RISC-V SIMT架构(2),指令Decode

本文分析了Vortex RISC-V内核的Decode模块设计。文章详细介绍了指令译码过程,包括操作码、功能码和寄存器字段的提取,以及不同类型指令(R/I/S/B/U/UJ)的立即数处理。重点阐述了基于操作码和功能码的分层译码逻辑,包括ALU运算、分支跳转、系统调用等指令的译码规则。此外,还描述了定制指令的处理机制以及与调度器的握手协议。Decode模块通过组合逻辑实现快速译码,并将结果传递给下级Issue模块,同时协调指令流控制。

weixin_55313207的博客 1792

从PLC到机械臂:揭秘工业自动化中的信号交互与控制逻辑

本文深入解析了PLC与机械臂在工业自动化中的信号交互与控制逻辑,详细介绍了硬件连接方案、通信机制及控制逻辑设计。通过西门子PLC与六轴机械臂的实战案例,展示了从信号采集到动作执行的完整流程,并探讨了高级控制策略与行业应用前景,为工程师提供了一套完整的实践框架。

weixin_29304985的博客 388

linux中memcache的基本使用

memcache的使用命令:    systemctl  start memcached    //开启memcache    memcached  -d  -p  11211(端口号)      //开启memcache中的某一个端口    telnet   127.0.0.1(服务端)    11211(端口号)    //使用memcache的某一个端口进行操作memcache的常用的基本函...

柚子哥哥i的博客 2133

第21章 分层架构软件测试

技术人员和客户代表对代码服务相关的技术进行详细的交流,由此确定代码审计的方案(哪些代码要审计、用什么方式审计、审计的时间、审计的要求等)代码审计报告提交和沟通之后,跟开发人员针对代码审查发现的问题进行修改,然后代码审查人员进行回归的检查,然后提交复查的报告;本层不需要了解其它层的实现细节,只需要考虑与本层相关的两层之间的接口和调用的情况。然后对客户要求的功能点进行人工的代码审查,对源代码的扫描结果进行人工的分析和确认;结合自动化扫描的结果和人工审查的结果生成测试对象的代码审查报告,最后提交给客户;

李黏黏的博客 3270

Linux下Memcache 安装和使用

Memcached是一种高性能的分布式内存对象缓存系统(memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能,其“分布式”由客户端函数库完成,成熟算法的为一致性Hash),用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。很多大型网站都使用了Memcached做缓存。MemCache依赖于libev...

weixin_34013044的博客 394

目标跟踪与视频时序分析基础

两帧均有目标,却因快速移动导致检测框无重叠,仅靠交并比(IoU)无法维持身份关联。本文通过手算与纯Python实现最小跟踪流程,揭示IoU仅为位置线索,不能应对快速位移或遮挡。实验表明,即使目标真实存在,低重叠也会触发新编号。强调跟踪需结合运动预测、外观特征与阈值验证,避免误判。

Mr数据杨 2335

01 Python学习总结:Python简介及入门

Python 是一门高级编程语言,以其简洁、易读和强大的功能而广受欢迎。它适用于多种应用场景,包括 Web 开发、数据分析、人工智能、自动化脚本等。以下是 Python 的简介及入门知识总结,帮助你快速了解并开始学习 Python。

数据知道的博客 1万+

Linux-重装系统之 memcache

1. memcache是什么?   memcache是一个能实现分布式的缓存系统。多用于web服务,网站系统,实现内存式数据缓存。 2. memcache在linux上的安装   前序: 好久没有动linux了,再次上去发现系统出现了问题,重新安装了下linux,(1.install in txt 2.re-initialize-all)   然后发现eth0没有被分配ip,被配置的网卡也...

weixin_30340775的博客 106

华为OD机试双机位C卷:日志排序 (Py/C/C++/Java/Js/Go)

华为OD机试双机C卷真题【日志排序】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试-日志排序。

qq_45776114的博客 1754

Linux centos 7 安装memcache和Redis

安装依赖: yum -y install libevent-devel yum -y install gcc yum -y install gcc-c++ yum -y install tcl 一、安装memcache: 官网:http://memcached.org/downloads 参考: weget http://memcached.org/latest tar -zxvf lat...

free_xiaochen的博客 312

Allegro如何设置走线自动删除重复走线操作指导

Allegro如何设置走线是自动删除重复走线操作指导在PCB布线的时候,点到点需要重复走一段线的时候,希望原来的线段自动被删除,Allegro设计的时候支持这个操作如下图,重复走中间的线段的时候,希望下方的走线自动删除具体操作如下This section is describe what the function allegro have ,helpfully could let user know more about allegroAllegro Design and Analysis includes

weixin_54787054的博客 4498

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

CentOS6.6 安装Memcache

Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据.简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。 工作原理: ①客户端第一次访问应用程序时,会到数据库(RDBMS)中取出数据,返回给客户端;同时也将取出的数据保存到memcached中。 ② 第二次访问时,因为数据已经缓存,不

土鳖&only29 1577

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Linux下安装memcache

1、Memcache用到了libevent(这个库用于Socket的处理),需要安装libevent: (1)tar zxvf libevent.tar.gz 后进入解压后的文件夹 (2)./configure --prefix=/usr/lib (3)make &&make install (4)测试libevent是否安装成功:ls -al /usr/lib | gr...

weixin_30652271的博客 60

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

MemCache 部署以及介绍 ;

一 、MemCache 简介 ; memcached 是一款开源的、高性能的纯内存缓存服务软件,mem 是内存的意思 ,cache 是缓存的意思 , d 是 daemon 的意思 memcache 是项目的名字,诞生于 2003 年,memcached 服务分为 客户端和服务端两部分,C/S 架构 ; 缓存数据库包含 ; memcache redis ,它们的 数据是存储在内存......

Ever~z 的博客! 4340

linux下memcache的常用命令

1、启动 cd到/usr/local/liveEpg/memcached/bin # ./memcached -d -m 4096 -u hadoop -l ********IP****** -p 12121 -c 1024 -P /tmp/memcached.pid 注意:不同机器要用自己的ip   ---本地启动命令 ./memcached -d -m 1024 -u hadoop

梦幻and红叶的专栏 2045

MEMCACHED缓存及状态查看

Memcached 是一个高性能的分布式内存对象缓存系统。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。 最近倡萌也给自己的阿里云服务器安装了 Memcached,效果似乎还不错哦。 测试环境:阿里云 CentOS 6.5 64位,军哥的 LNMP一键安装包配置的环境 1.2。 安装 Memcached lnmp1.2 :进入lnmp解压后的目录,

Anthony的专栏 1万+

Memcache的容量设置

本帖最后由 诸葛江南 于 2012-12-17 07:51 编辑 新浪App Engine(SAE)是目前国内最成熟、使用最广泛的云计算服务之一。云服务的重要特性就是可伸缩的资源分配,以及按实际使用情况收费的模式。SAE的计费单位是云豆,目前1元人民币可以购买100颗云豆。 SpeedPHP是一个轻量级的PHP开发框架,具有学习快、开发快、速度快的特点。SpeedPHP原生支持SAE。

bingqingsuimeng的专栏 3125

memcached stats 命令

STAT pid 1552 STAT uptime 3792 STAT time 1262517674 STAT version 1.2.6 STAT pointer_size 32 STAT curr_items 1 STAT total_items 2 STAT bytes 593 STAT curr_connections 2 STAT total_connections ...

weixin_30611509的博客 476

memcache调整value大小限制

前几个月在工作中碰到了这种情况,现在记录下

再见伍德 1万+

两种方法清空memcache缓存(转)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33704234的博客 1643

Memcache 的命令行用法

1、启动Memcache 常用参数memcached 1.4.3-p       设置端口号(默认不设置为: 11211)-U       UDP监听端口 (默认: 11211, 0 时关闭)  -l   绑定地址 (默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)-d            独立进程运行-u 绑定使用指定用于运行进程 -m

圣彼得堡之光的专栏 4302

Linux系统Nginx负载均衡环境部署及定时脚本

1、大型项目衡量依据1.1、PV即整个项目所有页面一天之内被访问的总次数。项目PV值可以达到千万级别项目就算属大型项目1.2、UV即整个项目一天之内被访问的总的用户数(以客户端进行区分)。一般UV值可以达到10万以上该项目就可以算大型项目1.3、独立IP即整个项目一天之内被访问的总IP数量2、apache性能测试①使用集成包部署一个lamp环节该步骤已经部署好 web目录地址在/home/wwwr...

大红猫 1万+
上一篇: Linux系统Nginx负载均衡环境部署及定时脚本
下一篇: php开启redis扩展
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值