本文主要是关于在Sina App Engine(SAE)提供的KVDB数据库存储数据的几点感想。
KVDB数据库相较MySQL和Storage容量要大的多,因为就单个应用来说,MySQL容量为5G,Storage为10G(可建5个domain,单个2G),而KVDB则是100G,支持10亿条记录,单条记录不能超过4M。
KVDB是非关系的,目前不支持联合查询,不知道以后会不会。人个觉得它单独使用或者配合MySQL来用都很不错。
单独使用的话,因其是key-value型的,一个key对应一个value,所以就要在它俩上做足功夫。 key可以通过设置前缀来快速查询访问,而value则可存储为JSON或XML格式的,一来方便阅读,二来方便管理。
配合MySQL的话自不必多说,因MySQL是关系的,支持复杂的查询语句,此时用KVDB存储文件内容就好。
另,由于以上所提及的三种存储方式只有Storage有个类似可从外部的服务S3,而MySQL和KVDB都只能在SAE平台内部访问,但对于程序员来说,都可以写程序实现从外部通过REST操作各种数据。
这个文章专业性有点强了。
默默撸过~~~
貌似不怎么专业啊…
唉,2G存满了可是不少东西啊。估计你讨论的这玩意儿得很大的应用才需要考虑吧。
小应用也可以考虑啊。。。
安全系数高啊!
怎么不用多说了啊?
不爽了…
所以不用啦…
加载好慢…数据库还双…
越来越商业化了…
不商业化怎么挣钱,不挣钱怎么维持啊!
到处都是多说的链接。。。
而且我发现没用多说后网页加载变快了。。。
数据还是保存在自己这比较爽啊
关键就是评论时候感觉费事,需要每次输入信息!
而且我发现他更新后的同步和登录都有点不爽了,强制性的
看来你对DIY很感兴趣呢!
貌似不用每次都输入信息吧…
只要你输入了一次而且不清空浏览器缓存就会保留吧…
也差不多!
首先KVDB存储GIF只会保存一帧,PNG图片会失真,JPG会掉数据
具体代码如下
$spic=’saekv://img/head23.jpg’;
if (!file_exists($spic)){
$pic=file_get_contents(“http://d1.sina.com.cn/201112/31/386959_lady_170100_1231.jpg”);
if (writeover($spic,$pic)){//fwrite写入
echo “写入saekv://img/head3.png 成功!”;
}else{
echo “写入saekv://img/head.jpeg 失败!请刷新下?”;
}
}else{
header(“Content-type: image/jpeg”);
$pc=file_get_contents($spic);
echo $pc;//这样也能显示
//echo imagejpeg(imagecreatefromstring($pc));//或这样也可以…….那我要这个干啥?多余i。。哈哈
}
function writeover($fileName, $data, $method = ‘w’, $ifLock = true, $ifCheckPath = true, $ifChmod = true) {
$handle = fopen($fileName, $method);
$writeCheck = fwrite($handle, $data);
fclose($handle);
return $writeCheck;
}
至于KVDB为什么不适合做缓存,@ElmerZhang:KVDB不适合做缓存,具体原因我想是因为Memcache的效率高于KVDB吧
mc比KVDB贵了不止一点啊…而且效率差不多…对人而言没影响…
至于图床用得着KVDB么???
10G的图床不够用?那就直接企业sina云吧!
KVDB要肿么说呢,不适合做缓存,也不适合做图床…
缓存还可以吧!
非常适合下载类啊…图床也不用要它出马吧!
不懂这些
不过我感觉这个些我都不懂啊。哈哈
你丫的在实验室问一次sae,又在这里问一次…
结果还不懂啊…
是不会用才来问的啊。就是不会才问啊。你怎么把多说关掉了啊
受不了折磨了…而且看着很不爽了…
哈哈。不过那个有的地方还是很方便的。对了。IM的域名哪里有便宜货啊?
不知道啊…
im的貌似都很贵呀…
蛋疼啊
把蛋敲碎了就不疼了…
哈哈哈!!!
把你的敲碎了就好了啊
我又没蛋疼…
干嘛要买这样的非主流域名啊…
而且要买推荐买2-3位的…
嘿嘿…
各种复杂,各种不懂!!
+1
汗…
现在关系型数据库的弊端越来越体现出来了
是啊…
但有时还是不得不用啊…没普及…