论实现序列化的在云端的必要性(新浪云部署session未能取不到值)

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

但是一旦部署到新浪云云端,麻烦就出现了,就会发现session为什么存不进值呢?

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

而Memcache存储呢?

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

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

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

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

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

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

时间: 2024-08-29 17:46:44

论实现序列化的在云端的必要性(新浪云部署session未能取不到值)的相关文章

通过新浪云部署Node.js微信小程序商城(不用买域名、不用备案、不用配置https)

本文档为微信小程序商城NideShop项目的安装部署教程(GitHub),欢迎star 一.购买新浪云SAE 为什么选择SAE?免费二级域名和支持https访问,不用备案,可用做微信小程序服务器. SAE推荐链接:http://sae.sina.com.cn/ 选择对应的部署环境自定义 -> 开发言语:自定义 -> 运行环境:云容器 -> 语言版本:自定义 -> 部署方式:手工部署 -> 环境配置:选择第一项(测试选最低配置即可) -> 实例个数:1(测试用选择1个即可

通过新浪云部署NideShop微信小程序商城(基于Node.js+MySQL+ThinkJS)

一.购买新浪云SAE 为什么选择SAE? 免费二级域名和支持https访问,不用备案,可用于做微信小程序服务器. SAE推荐链接:http://sae.sina.com.cn/ 选择对应的部署环境自定义 -> 开发言语:自定义 -> 运行环境:云容器 -> 语言版本:自定义 -> 部署方式:手工部署 -> 环境配置:选择第一项(测试选最低配置即可) -> 实例个数:1(测试用选择1个即可) -> 二级域名:填写你的域名(这里为:tumobi.applinzi.co

新浪云sae 邮件服务 quicksend()

<?php header("Content-Type: text/html;charset=utf-8"); $mail = new SaeMail(); $form_Content=" 你好,你的订单已经发货,请注意查收,顺风单号:3143343344"; //$mail->setAttach(array("my_photo" => "照片的二进制数据")); $ret = $mail->quickS

BotVS配置管理—使用新浪云搭建托管者

1. 创建SAE应用 登录新浪云平台,点击创建新应用 2. SAE环境部署 在新应用中选择自定义 相应选项如下 开发语言:自定义 运行环境:云容器 语言版本:自定义 部署方式:手工部署 操作系统:系统 centos 版本7 环境配置:基础 应用信息:填写二级域名及应用名称 3. 确认环境信息 查看信息及价格 4. 创建成功 创建成功后,跳转到容器管理点击 SSH客户端登录,登录地址为 ssh -p 60022 [email protected] 5. 创建ssh-keygen Windows上需

使用新浪云 Java 环境搭建一个简单的微信处理后台

前一段时间,写了一篇在新浪云上搭建自己的网站的教程,通过简单构建了一个 maven 的项目,展示部署的整个流程,具体的操作可以参看这里. 新浪云服务器除了可以搭建自己的网站以外,也非常的适合作为微信公众号回调地址来使用(熟悉微信公众号开发的朋友可能已经了解了,如果不太清楚请参看微信公众平台),微信公众号的开发需要一个公网可以访问的服务器,用于处理消息的 token 的验证,以及自身业务的定制开发.在这里,写了一些简单操作的例子,给大家参考. 准备 开发微信公众号首先要申请自己的公众号,或者获得相

新浪云php与java连接MySQL数据库

PHP新浪云连接MySQL <?php $con=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS); if(!$con) { die('Counld not connect :'.mysql_error()); } mysql_select_db("app_zezelyexam",$con); ?> java 新浪云连接MySQL // 使用主库写数据 使用Sae

php连接mysql数据库(新浪云SAE)

新浪云提供了免费的创建服务器端应用的服务.网址为:https://www.sinacloud.com/ 在上面创建好应用,然后在本地使用记事本编写应用的代码如下: <?php echo "HelloWorld!"; ?> 这是一个最简单的后台的代码,编写好后保存关闭,然后使用svn上传到刚才创建好的应用.打开网址就可以看到输出helloworld这句话. 操作数据库: 1.在应用下面创建共享型mysql数据库,创建好会有如下显示: 查看新浪云官网的文档中有php怎么操作数据

新浪云web项目数据库连接及 封装

[重点]Class.forName("com.mysql.jdbc.Driver");//数据库连接语句声明 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs","root","root"); //本地mysql数据库JDBC连接语句(项目名bbs登录名root密码root) conn = DriverManager.getConnectio

关于新浪云 ,微信公众号接口配置失败的解决办法

用自己写的代码进行调试,怎么都不行!一直提示配置失败. 反复检查代码,没有问题/(ㄒoㄒ)/~~ 将echostr直接echo回去也不行,使用官方的代码也不行 (╯Д°)╯︵ ┻━┻ 进入新浪云服务器请求日志查看 然后自己拼接个URL请求一次 发现返回数据没问题,我又看看源代码 妈蛋!!没有实名认证官方会在后面加一串JavaScript代码,找到问题了,就好解决了 在echo前加上 header('content-type:text'); public function firstValid()