β

Blog更新记录

跬步 92 阅读

周末花了点时间把许久没有动过的 Blog 做了一些优化,优化的目标:更快,更省。

更快

  1. 缓存SQL查询结果
  2. 优化数据库表结构
  3. 优化SQL查询语句
  4. 使用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可比的所以直接就替换了。

渲染速度对比可以看这里:

https://github.com/lepture/mistune/issues/1

使用SAE KVDB替换了Memcached,Memcached无疑是要比KVDB要快的,虽然我只使用了2M的Memcached的,代价是每个月14云豆,KVDB从测试来看不会比Memcached慢多少,没有容量的限制,综合考虑就替换了。

SAE 存储测试对比:

http://blog.sina.com.cn/s/blog_541d0d080100ugq9.html

PS: Blog可以说是我迈向python工作的第一个正式的项目,从github上的提交时间来看已经有2年了,虽说功能很简单,却是我人生中的一个转折点,也希望我的技术博客能一直写下去吧。

作者:跬步
On Coding
原文地址:Blog更新记录, 感谢原作者分享。