摘要: 为什么在ORM层做缓存,而不是DB层ORM能有效地提高程序员的开发效率,程序员更喜欢操作对象而不是数据库,他们不关心也不想手写一堆SQL语句,毕竟一个公司里普通程序员要占多数,他们并不是非常熟悉数据库,写出来的SQL执行效率也肯定会有这样那样的问题。如果让程序员去操作对象,这就是他们的强项了:定义关系、使用ORM的方法和属性、获取/遍历结果等等。同时ORM又可以在内部对SQL语句及对象之间的关系进行优化,尽量保证SQL高效地执行,甚至可以透明地加个缓存。这样一个双赢的结果,何乐而不为呢。如果是一些比较复杂的查询语句,只能通过写SQL语句来实现,这样的话,可以在语句的执行段外面套一层缓存判断,如 阅读全文
posted @ 2013-10-13 11:18 MR.Punk 阅读(1589) 评论(0) 推荐(1) 编辑
摘要: where('user_id', '=', '2')->and_where('created', '>', time() - 86400)->findAll(2);//上面的代码会在Model内部生成一个结构化的字符串,该字符串及对应的值将被放入缓存中{table_name}-{key}-{md5(sql)}//类似这样article-2-c81e728d9d4c2f636f067f89cc14862c//如果没有传参数,{key}就不会被替代article-{key}-c81e728d9d4c2 阅读全文
posted @ 2013-10-13 11:14 MR.Punk 阅读(734) 评论(0) 推荐(0) 编辑