PS: 俺快给公司开了.因为公司即将倒闭.
memcached 这个东西是个十分好的东西.做为PHPer不懂用的话如果挤身于php高手之列呢.所以有此一章
在自己的LINUX 下配置好了 memcached , 按照网上的配置访问问题都不大.网上的memcached的安装教程都挺正确的.
不过按照自己的环境要注意几点.
第一就是在安装 memcached 之前 必须先编译安装好 libevent 包. 这个有下.自己百度
第二就是 编译 libevent 包的时候记得是 ./configure --prefix=/usr 编译到 /usr 目录.
因为usr 目录下有个lib 目录.里面全都是 xx.so xx.so.1 之类的LIB库.
装完了libevent 以后 再开始 安装 memcached .
装 memcached 也要注意.网上讲的也不是很好.
网上讲的是改php.ini 的 extension dir 地址. 其实只要我们在 编译生成 memcached.so 以后.放我们设置好的存放so的目录下就行了.
以上几点是我在安装时候的得到的. 自己看着办吧. 其实安装挺简单的.
然后就是使用 memcached 了. 使用memcached 有两种办法.第一种就是用pecl 包 的 memcached 模块. 不过这办法要编译. 第二种是使用 memcached-client .php 文件. 这个速度上当然不够好了.所以我选择了第一种方法.
使用memcached 其实挺简单的.不过也是看你使用的具体环境了.也有可能是复杂的.
现在我就一个一个对 pecl 的memcached 里面的方法 一个一个试.呵呵. 反正俺快没工作了.时间多......
1
Memcache::add 方法
这个方法就是在 往内存里面添加变量 挺爽看例子
如果变量已经存在内存中.那么就会返回 false . 我只给出基本招式.自己灵活运用了.
Memcached:: set 方法
设置 变量在内存中的值
有参数 同 Memcached:: add 一样
1 为 变量在内存中的标志 2 为 变量的值 3为是否压缩标志 4为 变量在内存中的存活秒数
看例子吧. 昏 上不了图..太大.只能手写了
$mem = new Memcache;
$mem->connect('localhost',11211) or die("not connect");
!$mem->set('mykey','good job'') && die("not input memory");
echo($mem->get('mykey')); //没压缩前
!$mem->set('mykey','good job',MEMCACHE_COMPRESSED,50) && die("not input memory");
echo($mem->get('mykey')); // 压缩和设置了变量在内存中的存活时间
?>
压缩是否有用.如果我们把一个占字节大的变量存放在内存.当然压缩后占内存小拉.
?>
3
Memcached :: get 方法
这个方法看名字就知道 是从内存中获取 变量 ,前面我们存过变量进去的嘛还记得吧.呵呵
使用方法很简单
看:
$mem=new Memcache;
$mem->connect('localhost',11211) or die("not connect");
if(!$mem->get('kesdy')){
echo 'xx';
}
?>
如果要获取的变量之前没存过到内存或是已经过期.那么会返回空.
4
Memcache::connect 这个方法不用讲了吧. 看上面的所有例子都有用到.
第一个参数是: memcache 服务器的IP地址..第二个参数是: memcache 的监听端口. 默认是11211
Memcache::pconnect 这个也不用说了吧 .. 呵呵 长连接
5
Memcache :: replace() 方法
这个方法看名字就知道.是替换在内存中已存在的变量的值和参数等.
如果 变量在内存中已经存在 但我们想改变他的值最好就不要用 Memcache :: set () 方法. 在这种情况来说效率上 replace() 效率更快更好
上菜
$mem = new Memcache;
$mem->connect('localhost',11211);
$mem->set('mykey','xxeedd');
$mem->replace('mykey','dddddddddddddd');
echo($mem->get('mykey'));
?>
上面是输出 ddddddddddddddddddddd
可以看出 给替换了吧.呵呵
6
Memcache::increment 方法
这个是对 内存变量的值为 数值的有效.
$mem = new Memcache;
$mem->connect('localhost',11211);
$mem->set('mykey',5);
$mem->increment('mykey',2); //这样的话 mykey 的值就自动加了 2 成了 7
echo($mem->get('mykey'));
?>
Memcache::decrement 方法 和他刚好相反.
7 Memcache:: delete() 方法
这个方法是手动删除一个在内存中的变量.
$mem = new Memcache;
$mem->connect('localhost',11211);
$mem->set('mykey',5);
$mem->delete('mykey'); //删除,还可以带个参数是 在多少秒后进行删除. $mem->delete('mykey',50);
echo($mem->get('mykey'));
?>
够简单的了.自己看下
8
Memcache :: flush()
使存在内存中的所有变量全部失效.
用法也很简单.
$mem = new Memcache;
$mem->connect('localhost',11211);
$mem->set('mykey',5);
$mem->flush();
?>
恩基本讲完了.懂用这几个 东西. memcached 基本也就那样了..
下面我试下 memcached 多进程 和集群下的效果如何.
以后再做讲解了..... memcached和mysql简单综合应用.rar(8.51 KB)

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

手机远程linux工具有:1、JuiceSSH,是一款功能强大的安卓SSH客户端应用,可直接对linux服务进行管理;2、Termius,可以利用手机来连接Linux服务器;3、Termux,一个强大的远程终端工具;4、向日葵远程控制等等。

在linux中,rpc是远程过程调用的意思,是Reomote Procedure Call的缩写,特指一种隐藏了过程调用时实际通信细节的IPC方法;linux中通过RPC可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Dreamweaver Mac版
視覺化網頁開發工具