1.相信大家对memcache都不陌生,在项目中也经常使用memcache作为缓存方案,那么在使用过程中有没有发现为什么memcahce有两个添加缓存的方法:一个是add,一个是set,那么你知道这2个方法有什么不同吗?什么时候该使用add?什么时候该使用set呢?
对于这点以前自己也没有去深究,只知道要添加缓存的用set就可以了,好像大多数时候使用的都是set方法,而add好像很少去使用。前几天和一个朋友聊天提起过这个,今晚在这里就记录一下这2个方法之间的不同。
1)、memcache::add 方法:add方法用于向memcache服务器添加一个要缓存的数据。
注意:如果memcache服务器中已经存在要存储的key,此时add方法调用失败。
2)、memcache::set 方法:set方法用于设置一个指定key的缓存内容,set方法是add方法和replace方法的集合体。
3)、mmecache::replace方法: replace方法用于替换一个指定key的缓存内容,如果key不存在则返回false
注意:
a)、如果要设置的key不存在时,则set方法与add方法的效果一致;
b)、如果要设置的key已经存在时,则set方法与replace方法效果一样。
2.PHP中的动态变量和
/**
* 动态变量
* 即--变量的名,还可以是一个变量;
**/
$str = ‘hello‘;
$hello = ‘hello word‘;
echo $str . ‘<br />‘; // hello
echo $hello . ‘<br />‘; // hello word
// 两个 ‘$$’ 符号就是把 $str 的值 在变成一个变量, 所以输出‘hello word‘;
echo $$str . ‘<br />‘; // hello word
3.缓冲区溢出的条件是什么?会导致什么么样的后果?
4.PHP里的值传递与引用传递
传值:将实参赋值给形参,形参的改变,不会影响到实参的值。
传引用:真正以地址的方式传递参数,传递以后,实参与形参都是同一个对象,只是名字不同而已,形参的改变,会影响到实参的值。
<?php
//传值
$a=3;
$b=4;
function num($a,$b){
return $a+$b;
}
echo num($a,&$b);
//传引用
function nums(&$d){
$d++;
return $d;
}
$c=3;
echo nums($c);
?>