sae的kvdb使用注意】的更多相关文章

之前没仔细看,原来sae的kvdb使用一定要先调用初始化函数 $kv = new SaeKV(); $kv->init();//必须使用 $kv->set('index', $data);…
SAE介绍 Sina App Engine(简称SAE)是新浪研发中心开发的国内首个公有云计算平台,是新浪云计算战略的核心组成部分,作为一个简单高效的分布式Web服务开发.运行平台越来越受开发者青睐. SAE环境和普通环境有所不同,它是一个分布式服务器集群,能让你的程序同时运行在多台服务器中.并提供了很多高效的分布式服务.SAE为了提升性能和安全,禁止了本地IO写操作,使用MemcacheX.Storage等存储型服务代替传统IO操作,效率比传统IO读写操作高,有效解决因IO瓶颈导致程序性能低下…
可扩展性很强. <?php namespace LaneWeChat\Core; /** * 微信Access_Token的获取与过期检查 * Created by Lane. * User: lane * Date: 13-12-29 * Time: 下午5:54 * Mail: lixuan868686@163.com * Website: http://www.lanecn.com * * 使用说明(用sae中kvdb举例): // 1 首先编写两个方法,一个设置缓存,一个取缓存.(例子中…
简介 因为传统关系型数据库在分布式环境下表现的扩展性不足等缺点,近年来NoSQL的概念渐渐成为业界关注的焦点,越来越多的技术人员也习惯于使用NoSQL数据库进行日常开发,SAE为了应对这种新需求,也进行了NoSQL方向的研发. KV DB是SAE开发的分布式key-value数据存储服务,用来支持公有云计算平台上的海量key-value存储.KV DB支持的存储容量很大,对每个用户支持100G的存储空间,可支持1,000,000,000条记录,用户可以用KV DB存放简单数据,如好友关系等. 用…
Author:MoonXue 上线时间:2009年9月,国内最早. 支持语言:PHP.JAVA.PYTHON 版本管理:SVN 可选数据库:MySQ.KVDB(非关系型) 特色服务:Web服务器配置工具appconfig.轻量级调试工具XHProf.临时IO读写TmFs.应用防火墙(详情) 提供的其他服务:短信接入.邮件群发.分布式文件存储.memcache.计数服务(详情).排名服务(详情).计划任务.图片处理.网页抓取.消息队列.离线消息队列 资质:自上线以来,在内测期间曾出现偶发性故障,最…
利用sae做的io wrapper接口,对dokuwiki做了基于sae的分布式storage存储改造,能正常安装和运行,但速度太慢,基本没什么用. 定义一个常量: define('SAESTORE_PREFIX', 'saestor://wiki/'); 在要写入权限的 conf 和 data 处,全部构造成以SAESTORE_PREFIX 为根目录的格式. 确实证明了 storage 是分布式的. 应该用kvdb的模式.…
应用移植指南 一,为什么要移植应用 SAE禁止IO写操作,代码目录不能写入.这意味着普通程序的上传图片.生成缓存等操作都不能在SAE上正常运行,这时候你需要对这些代码进行修改后才能让你的程序运行在SAE上. SAE为什么要禁止IO写操作? SAE采用分布式架构设计, 应用代码将部署在多台前端服务器上, 每次访问请求可能到达不同服务器.(如下图): 假设现在有A.B.C.D四台服务器.用户上传一张图片到A服务器,第二次访问请求可能到达B服务器,此时将无法获取保存在A服务器上的图片. SAE使用Me…
      用过SAE平台的朋友应该知道,出于平台安全性的考虑,SAE限制了用户对于本地IO的使用.但这样对于一些传统的PHP项目,也许带来了很多不便,因为它们都或多或少的有对本地IO的操作,像Smarty的编译模板.为了解决这个问题,SAE提供了TmpFS功能.TmpFS允许开发者通过标准的IO函数临时读写本地IO,这样方便了很多非SAE项目的移植.         但是TmpFS是不够的,从名称来看是临时文件系统,它的生命周期同于PHP请求,也就是当该PHP请求完成执行时,所有写入TmpFS…
前言: 云服务已经火热很多年了,到了现在已经基本进入稳定期,稍微有实力的公司都会推出免费的云存储,像百度的还几个T,速度也不错.如果不担心数据安全问题,代替平时的U盘还是没有问题.而SAE是新浪在2009年11月3日推出国内的第一个云服务,给我们开发者或者草根站长带来好消息,发展到现在里面已经有很多应用如各种博客.cms都做了SAE的支持,程序资源丰富.服务稳定快速,得到业界的认可.下面来给没接触过的简单介绍一下入门. 首先给下地址 http://sae.sina.com.cn/activity…
autoload.php(系统启动时自动加载的文件:包,类库,驱动,方法助手,配置) $autoload['libraries'] = array('database', 'access', 'pagination');//类库:数据库/权限类/分页类 $autoload['drivers'] = array('session');//驱动:session $autoload['helper'] = array('url', 'file', 'cookie', 'form', 'array');…
sae-v2ex 一个运行在SAE上的类似v2ex的轻型python论坛 - 技术讨论 - 云计算开发者社区 - Powered by Discuz! sae-v2ex 一个运行在SAE上的类似v2ex的轻型python论坛 [复制链接]     文峰   文峰 当前离线 注册时间 2012-3-7 最后登录 2014-5-14 阅读权限 200 积分 7430 精华 5 帖子 2620   管理员 串个门 加好友 打招呼 发消息 电梯直达 楼主   发表于 2012-10-25 15:41:4…
Github:https://github.com/chariothy/laravel4-sae (已更新至v1.1.0) laravel4-sae (v. 1.0.0) 仅仅需手动添加一行代码就可以让Laravel4(~4.2)执行在SAE,并且在本地和在SAE开发无需命令切换,自己主动推断环境并切换配置. 安装 在SAE安装Laravel 在SAE安装Laravel与本地环境安装稍有差别: 在SAE的"应用管理"中新建一个没有代码的应用.比方叫project-name(这里面仅仅是…
这个分析列表主要关注两个问题,服务能做什么,移植实现难度. AppConfig: 这个东西主要面向SAE本身的一些配置选项,移植时放弃这个东西,所以就不谈难度了Counter :这个东西提供某个操作的计数服务,这个东西根据并发强度和分布式需要,实现难度各有不同Cron :这个东东就是定时任务.他这个东西就是Linux的Cron的包装版,所以无需多做实现CDN :这个东西就不多说了,等你的网站用到这个东西的时候,你估计已经对它耳熟能详了DeferredJob :离线延迟任务功能,这个用异步消息队列…
例如:file_put_contents("test.txt","Hello World. Testing!"); 可以这样写: file_put_contents("saekv://test.txt", $response, FILE_APPEND); 这样就可以了 Wrappers PHP 自 4.3 版本以来,引入了 stream 流的概念,简单说,就是可以用通用的 IO 读写函数来操作各种资源,比如:tcp.udp.http.ftp 等等…
ThinkPHP3.2核心内置了对SAE平台的支持(采用了应用模式的方式),具有自己的独创特性,能够最大程度的使用ThinkPHP的标准特性,让开发人员感受不到SAE和普通环境的差别.甚至可以不学习任何SAE知识,只要会ThinkPHP开发,就能将你的程序运行在SAE上. SAE版ThinkPHP具有以下特性: 横跨性:能让同样的代码既能在SAE环境下运行,也能在普通环境下运行.解决了使用SAE不能在本地调试代码的问题. 平滑性:我们还是按照以前一样使用ThinkPHP,但是您已经不知不觉的使用…
Storage :是SAE为开发者提供的分布式文件存储服务,用来存放用户的持久化存储的文件.用户需要先在在线管理平台创建Domain(相当于一级子目录).    Storage为开发者提供分布式文件存储,用户可以通过API读取文件.写入文件.获取文件属性.取得文件列表等操作,因为SAE平台限制使用本地IO,所以强烈建议开发者将所有的需要持久化的文件操作都通过Storage实现.另外,在SAE 中不能直接使用PHPMyAdmin进行大规模的删除.更新等操作,否则可能造成应用的MySQL被禁用.如需…
缘起 SAE 和其他的平台有些不同,不能在服务器上运行 Composer 来安装各种包,必须把源码都提交上去.一般的做法,可能是直接把源码的所有文件复制到目录中,添加到版本库.不过,这样就失去了与上游代码的同步的优势.还好 git 提供了另一个功能叫 subtree,不但提供了版本追踪的功能,让代码可以一直和上游同步,同时源码文件还能提交到当前的仓库中. 过程 首先,当然是要安装 git 的 subtree 命令.这个命令虽然随 git 一起安装了,但默认并没有启用.每个平台的安装方法有所不同,…
前些天一时冲动,买了个域名,我想总不能放着不用吧,干脆就搭建了一个个人博客.下面我把搭建的过程分享给大家.注意,此文并不是攻略,只是为了记录下这个从无到有的过程,当然,假如解决了你的疑惑,那当然是极好的. 前期准备:注册SAE,并申请实名认证. 使用微博账户登录SAE就行了,然后最好申请一下实名认证,否则的话别人访问你的SAE网站时,最上方会有一个“此网站所属人未经实名认证,以防上当受骗”之类的提示条,很碍眼. 创建应用:配置博客平台. 在这篇博客发表的近几天,SAE的管理系统进行了一次大的升级…
1.python程序部署到sae上需要做的改动 在线上需要转换成wsgi的形式运行python程序. sae中运行python程序需要指定一个函数为入口函数. application = sae.create_wsgi_app(main) main函数是你定义的入口函数,在这里面你可以调用你定义的其它函数. sae.create_wsgi_app(main) 创建main为入口函数,将入口地址返回给application. 运行这个程序的时候sae会直接找到application,运行这个pyt…
看到园子里面有同学写了一篇<基于PHP实现阿里云开放存储服务>,围观地址:http://www.cnblogs.com/nosqlcoco/p/3474773.html.想起自己也在Sina App Engine(简称SAE)注册了一个开发者账号,而已有一个个人在线简历,所以就尝试这把应用里面用到的图片都放到SAE的Storage服务里面存储,然后在页面从storage里面读取图片地址,打开开发文档,就开始折腾起来.估计是PHP学习的不多,所以遇到的问题还是蛮多的.首先看一下SAE的stora…
新浪云sae是一个免费的web服务器,SAE的Web服务器采用分布式部署的方式,开发者将代码部署到SAE前端机后,会通过同步的方式,将代码部署到SAE所有的Web服务器.相当于在每一台Web服务器上都有备份, 如此,即使某一台服务器宕机,用户请求也会被转发到其他的服务器上,不会影响应用的正常使用,大大提高了应用的稳定性. 另外,值得一提的是,除了分布式部署,SAE还提供完整的分布式Web服务的解决方案,其中包括分布式数据库.分布式文件系统,更包括分布式定时器系统.网页抓取服务.图像处理服务等.…
在新浪云上使用smarty时会发现又这样的错误信息: “SAE_Fatal_error: Uncaught exception 'SmartyException' with message 'unable to write file ./web/templates_c/wrt4e95555280ef1' ”. 这是因为不能使用官方下载的smarty文件包,要下载smarty for sae的专门版本,地址:http://code.google.com/p/smarty4sae/downloads…
应用架在新浪的SAE上,而同时功能中又需要用上编辑器,鉴于百度的UEditor功能强大,可定制,文档全,所以理所当然的用它.而新浪把本地文件的IO操作禁止了,使得UEdiotr的图片上传.附件和在线涂鸦功能都不可用了.发布文章是不能够上传图片和附件 的,只能采用网络图片,甚至自己先将图片和附件上传到云上,然后再超链接使用,虽然也可以解决问题,但是挺不痛快的.后来随着对SAE有了更深入的了解之后,发现新浪提供了Storage来支持文件上传,下面我就利用SAE的Storage对UEditor进行简单…
sae 上傳因為新浪云是有權限的限制的,所以要有權限才能上傳,以圖片為例首先在入口文件目錄(applicaiton)里的common的conf 里的config配置把上传驱动设为sea 代码 如下:'file_UPLOAD_TYPE'=>'sae', 再在common里的function.php的get_cover_url方法里加入如下代码 : if(strstr($url,"http://")){ return $url;} 这个操作是把上传的文件成功的图片路径拿到给其它地方调…
session在本地可以正常使用,而在sae上却无法使用或者值为空的解决方法: session_start()放在当前页代码的第一行即可解决该问题. 在本地上session_start()如果不是放在代码的第一行会报错,但还是能正常使用,这时我们可以通过加@屏蔽错误的显示:@session_start().而在sae上,虽然你通过@屏蔽了错误的显示,但仍无法正常使用,获取的session值为空,此时你只要将session_start()放在当前页代码的第一行即可.…
最近准备在新浪云端SAE上挂点自己的小网站,这样自己开发个什么东西别人能用.但是第一次接触SAE,遇到一些问题,记下来给大家看. 1.安装的svn版本不能高于 1.8,否则无法向SAE提交代码. 2.SVN项目目录下要先加数字目录名,再加文件,才能与SAE端对应上. 如 cora/1/index.html 3.使用SAE上CDN的js库文件时,链接方式如下: <script src="http://lib.sinaapp.com/js/jquery/1.10.2/jquery-1.10.2…
我的应用底层数据库用的是MySQL,利用Flask-SQLALchemy实现接口操作.我遇到的问题是: 在我把代码部署到SAE上后,当数据向数据库insert的时候总是出现“2006,MySQL has gone away”的问题. 查了官方文档和Google了很多,首先是用如下方法去做的: 1.SQLAlchemy_POOL_SIZE = 10 2.每次操作之后关闭数据库 def init_after_handlers(app): @app.teardown_appcontext def te…
index.wsgi启动服务文件 import sae from evilxr import app application = sae.create_wsgi_app(app) evilxr.py # -*- coding: utf-8 -*- import time import MySQLdb import hashlib from flask import Flask, g, request, make_response, render_template,\ url_for import…
个人网页(github)的留言板终于搞定了.总之后端的东西不会写,只有修改以前教程里面的文件.记录一下重要的过程. 使用了留言保存的send()函数,模版有注册登录功能.根据需求修改了一下,去掉了登录这一块.returndata里面增删自己需要的项目就行了. $returnData = array( 'cid' => $this->db->getInsertId(), // 'uid' => $_COOKIE['uid'], // 'username' => $_COOKIE…
① 新浪SAE快速上手教程:http://jingyan.baidu.com/season/43090 上面一个链接是针对PHP的相关介绍,如果用java还有点不一样,具体请看新浪SAE官网:http://sae.sina.com.cn/doc/java/tutorial.html#id2 ② 我用的是java web,和php不一样,只能上传war文件(好像不能直接编辑),接着从官网看到这个: 以为可以把这个插件用在MyEclipse上,但是结果不行,接着找到了在MyEclipse下装SVN的…