当前位置:  编程技术>php
本页文章导读:
    ▪php 使用post,get的一种简洁方式       近来看到了一个巧妙地方法,原理是 $var_a ='var_b'; $$var_a ='test'; 则echo $var_b;为'test' 因此可以这样处理 代码如下: foreach(array('_COOKIE', '_POST', '_GET') as $_request) {    foreach($$_request as $_key => $_.........
    ▪Windows下安装Memcached的步骤说明       (其实在Windows下安装还是比较简单的) 源码包准备: 1,memcached 1.2.1 for Win32 binaries 这个是 Win32 服务器端的 memcached 最新版本,直接下载就可以了; 2,php_memcache-5.2-Win32-vc6-x86-20090408.zip 这.........
    ▪PHP 文件缓存的性能测试       PHP常用缓存方式:第一种,把需要缓存的数据进行处理,形成PHP可以直接执行的文件。在需要缓存数据的时候,通过include方式引入,并使用。第二种,把需要的数据通过serialize函数序列化后.........

[1]php 使用post,get的一种简洁方式
    来源: 互联网  发布时间: 2013-11-30
近来看到了一个巧妙地方法,原理是
$var_a ='var_b';
$$var_a ='test';
则echo $var_b;为'test'
因此可以这样处理
代码如下:

foreach(array('_COOKIE', '_POST', '_GET') as $_request)
{
   foreach($$_request as $_key => $_value)
  {
    $_key{0} != '_' && $$_key = addslashes($_value);
  }
}

这样像test.php?name=name_in&pwd=pwd_in
你就可以直接用$name,$pwd
来引用客户端发送的数据。
注意:这里对客户发送的变量用addslashes()进行了过滤。

    
[2]Windows下安装Memcached的步骤说明
    来源: 互联网  发布时间: 2013-11-30

(其实在Windows下安装还是比较简单的)

源码包准备:

1,memcached 1.2.1 for Win32 binaries

这个是 Win32 服务器端的 memcached 最新版本,直接下载就可以了;

2,php_memcache-5.2-Win32-vc6-x86-20090408.zip

这个是 php 所需的 PECL 扩展,即 php_memcache 扩展;(一定要和自己的 PHP 版本相同,我用的是5.2.1)

有了源码包包,那就开始大快朵颐吧,按照下面的步骤

1. 将第一个包解压放某个盘下面,比如在c:\memcached
2. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install' 安装
3. 再输入: ‘c:\memcached\memcached.exe -d start' 启动。(需要注意的: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了)
4. 解压第二个包包,里面会只有一个 php_memcache.dll 文件,把它放入 usr/local/php5/ext/ 中
5. 在C:\WINDOWS\php.ini 加入一行 ‘extension=php_memcache.dll'(不知道为什么 PHP 会有两个配置文件,一个在 usr/local/php5/php.ini, 而另一个则在 C:/WINDOWS/中,而且只改前一个配置文件不起作用,所以就把 WINDOWS 中的 php.ini 也改掉了!)

6,接着在 php.ini 文件里加上:

代码如下:

[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
memcache.default_port = 11211

最好就放在刚才写 "extension=php_memcache.dll" 的下面。(这是默认的一些配置)
6.重新启动Apache,然后查看一下phpinfo,如果有 memcache 的说明,那么就说明安装成功啦!

试运行:

写一个 example.php 文件:(更多使用方法可以参看 PHP 手册里的 Memcache Functions 使用说明)
代码如下:
 

<?php 

$memcache = new Memcache; 
$memcache->connect('localhost', 11211) or die ("Could not connect"); 

$version = $memcache->getVersion(); 
echo "Server's version: ".$version."<br/>\n"; 

$tmp_object = new stdClass; 
$tmp_object->str_attr = 'test'; 
$tmp_object->int_attr = 123; 

$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server"); 
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n"; 

$get_result = $memcache->get('key'); 
echo "Data from the cache:<br/>\n"; 

var_dump($get_result); 

?>

如果有输出:
代码如下:

Server's version: 1.4.5
Store data in the cache (data will expire in 10 seconds)
Data from the cache:
object(stdClass)#3 (2) { ["str_attr"]=> string(4) "test" ["int_attr"]=> int(123) }

则说明,我们的 Memcached 已经正常运行啦! :~>

如果上面的地址不能下载,可以到http://www.splinedancer.com/memcached-win32/下载

    
[3]PHP 文件缓存的性能测试
    来源: 互联网  发布时间: 2013-11-30

PHP常用缓存方式:
第一种,把需要缓存的数据进行处理,形成PHP可以直接执行的文件。在需要缓存数据的时候,通过include方式引入,并使用。
第二种,把需要的数据通过serialize函数序列化后直接保存到文件。在需要使用缓存数据的时候,通过反序列化读入文件内容并复制给需要的变量,然后使用。

测试结果:
通过测试我们发现,第二种也就是serialize缓存数据的方式更加高效。(数据略去,最后提供了文章地址下载,大家可以自行测试)

原因分析:
include方式读取缓存的时候,PHP需要执行几个过程
1.读取文件
2.解析所Include的文件
3.执行,给变量赋值

而serialize序列化方式读取缓存的时候:
1.读取数据
2.反序列化数据内容
3.给变量赋值

总结分析:
第一种,include缓存的方式
优点:增加数据的保密性,和安全性,缓存内容不会被外界发现。
缺点:速度相对较慢。
用途:保存禁止系统外部得知的数据,比如web系统的设置,甚至MySQL信息等的保存

第二种,serialize序列化缓存的方式
优点:速度较快。
缺点:缓存系统文件路径一旦曝光,缓存内容会泄露。
用途:缓存最新文章,相关文章等不担心外部得知的数据的时候,可以使用这种方式。


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3