论实现序列化的在云端的必要性

云计算
对于java实现序列化的重要性,在单机程序内是不太容易被重视的,在本地调试中,tomacat自动为为序列化的程序实现了序列化,而且bean(用来实现缓存的java程序)太小,不会出现什么问题。但是一旦部署到云端,麻烦就出现了,就会发现session为什么存不进值呢?不久前我在新浪云云端部署session就出现了未能取不到值的问题。

对于java实现序列化的重要性,在单机程序内是不太容易被重视的,在本地调试中,tomacat自动为为序列化的程序实现了序列化,而且bean(用来实现缓存的java程序)太小,不会出现什么问题。

但是一旦部署到云端,麻烦就出现了,就会发现session为什么存不进值呢?不久前我在新浪云云端部署session就出现了未能取不到值的问题。

[[131915]]

针对新浪云服务器,session的信息使用的是分布式Memcache存储。

而Memcache存储呢?

不少想构建大负载的网站都采取Memcache来分担数据库的压力。

Memcache首先在服务器端的内存中开辟一个空间,然后建立一个hash表。

memcache 以守护程序的形式运行在服务器端(一个或者多个服务器),随时接受来自客户端的连接操作,然后进行存取数据,Memcache是一款nosql内存数据库。采用的是键值存储,每个客户端存入的对象都有一个唯一的key。但是对象是没办法持久化的,跟memcache很相似的redis是可以实现持久化到硬盘的。然后把客户端需要缓存的数据以key-value的形式保存在服务器的内存中的,value值存入key值hash转化后的对应的某个服务器上。取值的时候通过同样的转化后对响应的服务器上付出请求即可。

而在序列化在在其中起到什么作用呢?

在memcache缓存到内存的时候,是需要使用到序列化存储的,因此如果你的bean包中的代码都没实现序列化接口,在缓存的时候是不会被缓存到服务器内存中的,这样就造成了session并没有存值的问题发生。

所以在部署到新浪云的程序存储到session中的对象必须实现序列化接口才可以进行session存储的。

博文出自:http://blog.csdn.net/u012944224/article/details/44960171

责任编辑:Ophira 来源: 刘莹慧的专栏
相关推荐

2014-02-17 09:37:31

亚马逊WorkSpacesVDI

2023-05-31 10:02:29

人工智能

2011-06-14 10:20:20

URL标准化

2011-12-13 20:36:26

Android

2012-06-15 09:37:40

Linuxmark

2021-04-26 23:02:26

区块链数字化工具

2011-06-01 15:05:02

序列化反序列化

2018-10-17 10:46:54

区块链互操作性比特币

2023-09-14 15:58:34

C++表达式

2010-06-24 16:38:20

综合布线

2022-02-13 00:29:57

云安全云计算安全

2018-03-19 10:20:23

Java序列化反序列化

2011-11-08 21:19:25

2009-12-11 09:36:02

PHP数据缓存类

2022-08-06 08:41:18

序列化反序列化Hessian

2009-09-01 16:20:27

C#单元测试

2009-06-14 22:01:27

Java对象序列化反序列化

2020-05-20 07:00:00

DevOps端点检测网络攻击

2021-01-21 21:07:03

信息安全漏洞治理

2015-05-20 10:05:10

Ceph分布式文件系统序列化
点赞
收藏

51CTO技术栈公众号