Blog更新记录
Mar 7 2016周末花了点时间把许久没有动过的Blog做了一些优化,优化的目标:更快,更省。
更快
- 缓存SQL查询结果
- 优化数据库表结构
- 优化SQL查询语句
- 使用misaka(C写的Markdown解析器)
更省
用SAE KVDB替换Memcached
数据库
在blogs
表设计的时候使用了时间戳+年的2个字段,也许是因为没有经验吧,实际上直接使用DateTime
类型字段是更好的选择,所以删除了year
字段,并且把ceated
字段改为DateTime
。
在view
函数中进行SQL查询尽量遵循越少越好的原则,所以把/tags/:tag
的IN
查询改写为LEFT JOIN
,/tags
的tag进行了排序。在插入数据时,生成批量INSERT
的语句。
替换库
以前用了markdown2这个纯python的库,实际上SAE是自带misaka库的,一个C写的Markdown库的python绑定,毫无疑问misaka的渲染速度不是markdown2可比的所以直接就替换了。
渲染速度对比可以看这里:
使用SAE KVDB替换了Memcached,Memcached无疑是要比KVDB要快的,虽然我只使用了2M的Memcached的,代价是每个月14云豆,KVDB从测试来看不会比Memcached慢多少,没有容量的限制,综合考虑就替换了。
SAE 存储测试对比:
PS: Blog可以说是我迈向python工作的第一个正式的项目,从github上的提交时间来看已经有2年了,虽说功能很简单,却是我人生中的一个转折点,也希望我的技术博客能一直写下去吧。