php数据类型存储memcache探讨

摘要:
序列化和反序列化的过程由memcache的客户端完成,无需我们自己的干预。注:Memcache中存储的数据以字符串的形式存储。

一、标量类型:整型 浮动型 布尔 字符串

// 实例化一个memcache的类
$mem = new Memcache();
// 连接memcache的服务器
$mem->connect('localhost', 11211);
// 设置数据
$mem->set('int',100,0,3600);
$mem->set('float',10.20,0,3600);
$mem->set('boolean',false,0,3600);
$mem->set('string',"welcome to guangzhou",0,3600);
// 获取数据
var_dump($mem->get('int'));
var_dump($mem->get('float'));
var_dump($mem->get('boolean'));
var_dump($mem->get('string'));

/*输出结果:
string(3) "100" 
string(4) "10.2"
string(0) ""
string(20) "welcome to guangzhou"
*/

说明:标量类型是可以存储到memcache里面的,都是以字符串的形式存储的,最后输出也变成了字符串。

二、非标量类型:数组 对象 资源 null

// 实例化一个memcache的类
$mem = new Memcache();
// 连接memcache的服务器
$mem->connect('localhost', 11211);
// 设置数据
$mem->set('array',array('apple','orange','tree'),0,3600);
class dog{
}
$dog = new dog();
$dog->name='哮天犬';
$dog->age=4000;
$mem->set('object',$dog,0,3600);
$conn = mysql_connect('localhost','root','123');
$mem->set('resource',$conn,0,3600);
$mem->set('null',null,0,3600);
// 获取数据
var_dump($mem->get('array'));
var_dump($mem->get('object'));
var_dump($mem->get('resource'));
var_dump($mem->get('null'));

/*输出结果:
array(3) { [0]=> string(5) "apple" [1]=> string(6) "orange" [2]=> string(4) "tree" }
object(dog)#3 (2) { ["name"]=> string(9) "哮天犬" ["age"]=> int(4000) }
int(0)
NULL*/

数组 对象 资源 null在memcache里面存储的形式

php数据类型存储memcache探讨第1张

说明:

数组 对象 资源 是以序列化之后的结果存储到memcache里面的。

但是在取出数据时,又自动反序列化之后显示的。

序列化与反序列化的过程是由memcache的客户端完成的,无需我们自己干预。

说明则memcache里面存储的数据,是以字符串的形式来存储的。

注意:不能把资源类型存储到memcache里面,因为在取出资源类型时,把资源类型变成了整型。在实际应用中,存储数组的情况居多。

免责声明:文章转载自《php数据类型存储memcache探讨》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux下的find文件查找命令与grep文件内容查找命令23种设计模式之代理模式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java08 数组与集合

1 数组的定义与规范 一个变量只能存放一个数据,一个数组是一个容器,可以存放多个数据 数组的特点 1 数组是一种引用数据类型 2 数组中的多个数据,类型必须统一 3 数组的长度在程序运行期间,不可改变 数组的初始化 1 动态初始化  指定长度:  数据类型[] 数组名称 = new数据类型 [ 数组长度] 左侧的数据类型  表示数组中保存的数据类型 左侧...

Asp.Net 4.0 新特性之 使用自定义OutputCache Provider

Asp.Net 4.0 新特性之 使用自定义OutputCache Provider 在Asp.Net 4.0 的web.config文件中添加了关于缓存的配置节,如下所示: <system.web> <compilation debug="true" targetFramework="4.0" /> <...

php转go?还是php+swoole?

一个老 PHP 程序员建议直接转 go。 我是在 2021 年夏天转 go 的。在那之前,写了很长时间的 php,对这门语言有很深的感情。 php 是我在大学里学的第一种脚本语言。当时流行的是微软的 asp 和 java 的 jsp。jsp 太麻烦,微软的东西我又很排斥,然后就在图书管找到了 php 的参考资料。当年我买了第一本 php 教程。你没看错,...

使用PHP文件锁写一个多个请求同时并发写入一个文件,要求不脏读、数据不丢失

使用PHP文件锁写一个多个请求同时并发写入一个文件,要求不脏读、数据不丢失. //并发文件操作 function filehandle($filename,$data){ $start = 0; $end = 3000; if(!file_exists($filename)){ return "文件不存在";...

Java:String和Date、Timestamp之间的转换

一、String与Date(java.util.Date)互转      1.1 String -> Date String dateStr = "2010/05/04 12:34:23";            Date date = new Date();            //注意format的格式要与日期String的格式相匹配  ...

POI方式实现Excel表格数据导出

Excel表格导出 1.添加pom依赖 1 <!-- office 操作工具 --> 2 <dependency> 3 <groupId>org.apache.poi</groupId> 4 <artifactId>p...