关于PHP的Memcache和Memcached模块

缘起

话说PHP操作Memcache有两个常用的模块: Memcache和Memcached;不过,请注意,这两个模块是不能混用的,如:使用Memcache写,使用Memcached读。

原因

话说Memcache协议中有一个叫做flag的东西,可以指定内容是否被压缩等等。Memcache模块和Memcached模块对该flag的定义是不一样的,如下:

Memcache

#define MMC_SERIALIZED 1
#define MMC_COMPRESSED 2

Memcached

#define MEMC_VAL_IS_STRING 0
#define MEMC_VAL_IS_LONG 1
#define MEMC_VAL_IS_DOUBLE 2
#define MEMC_VAL_IS_BOOL 3
#define MEMC_VAL_IS_SERIALIZED 4
#define MEMC_VAL_IS_IGBINARY 5
#define MEMC_VAL_IS_JSON 6
#define MEMC_VAL_IS_MSGPACK 7

#define MEMC_VAL_COMPRESSED (1<<0)
#define MEMC_VAL_COMPRESSION_ZLIB (1<<1)
#define MEMC_VAL_COMPRESSION_FASTLZ (1<<2)

 

 

 

比较

1. Memcache只定义了压缩和序列化

2. Memcached 定义了数据类型、压缩、序列化、压缩方式

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据