转自:http://www.ooso.net/index.php/archives/407
php下的define()性能是很烂的,速度慢,尤其是当一个程序中有大量的常量需要定义,这个情况尤为明显。而apc这个扩展不仅仅提供了php的opcode缓存,同样也可以提供一些基本的cache功能,在apc 3.0.0版本之后,它甚至可以缓存常量。
一个用apc批量定义常量的例子
CODE:
-
-
-
-
-
-
-
apc_define_constants('numbers', $constants);
-
-
这个例子中,使用apc_define_constants批量定义常量,它的头一个参数"numbers"是cache的key,第二个参数则是常量定义组成的数组。它在这一次操作中,就已经把这组常量加入到cache中了。
用apc批量载入常量
在批量定义过常量之后,以后要载入这些常量,可以用对应的方法apc_load_constants来装入。
CODE:
-
-
apc_load_constants('numbers');
-
-
这样做会比用php挨个define快上很多。
实际应用
实际的应用场合中,可能需要检查一下常量有没有被定义,然后再进行后续逻辑,比如:
CODE:
-
if(!apc_load_constants('numbers')) {
-
-
-
-
-
-
apc_define_constants('numbers', $constants);
-
-
-
分享到:
相关推荐
apc_define_constants ( string key, array constants [, bool case_sensitive] ) 将数组constants以常量加入缓存。 apc_load_constants (string Key)。 取出常量缓存。 apc_store ( string key, mixed var [,...
使用apc时,每增加一个常量,还需要修改一下$key才能生效。 而现在测试、生产服务器php都升级到5.4后,opcode缓存就使用了Zend opcache,不再安装APC。因为有用到apc user cache,因此额外装了apcu,和apc用法一模样...
在apache启动前,PHP启动时创建并初始化了这些常量,这样就不需要在php里define常量了,性能自然没有任何问题了!
#define用法集锦 1.简单的define定义 #define MAXTIME 1000 ...这是应该使用typedef 来代替define,这样a 和b 就都是int 型指针了。 所以我们在定义的时候,养成一个良好的习惯,建议所有的层次都要加括号。
题目:宏#define命令练习(1) 1.程序分析:2.程序源代码:#include "stdio.h"#define TRUE 1#define FALSE 0#define SQ(x) (x)*(x)void main(){int num;int again=1;printf("\40: Program will stop if input value ...
#define宏定义使用整理,主要是宏定义的编译过程,##和#的使用。
_define用法完全集锦/_define用法完全集锦/_define用法完全集锦
define用法以及使用。
动网格,DEFINE_CG_MOTION,DEFINE_GRID_MOTION,很好的模板(dynamic mesh good template)
介绍#define和typedef的区别于使用
define的使用总结。较全面。有需要的可以下载看看。
define与typedef
部分指令下载后有全部:#define PU 0x01 #define STOP 0x02 #define RESET 0x03 #define CLI_INT 0x04 #define RD...ERASE 0x43 #define RD_APC 0x44 #define WR_APC1 0x45 #define WR_APC2 0x65 #define WR_NVCFG 0x46
#define 问题 用法陷阱
DEFINE_DPM_EROSION用于fluent UDF磨损
介绍C++/C 宏定义(define)中# ## 的含义, 并以C++代码举例说明
写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义……
const #define inline的用法及区别