今天介绍个小工具,Django的插件—— `https://github.com/BertrandBordage/django-cachalot`_ (Django和抹香鲸?)。这个工具的主要应用场景就是自动帮你缓存你执行过的query结果,以此来帮助网站优化访问速度。毕竟同样查询没必要hit两次甚至多次数据库。
刚才升级上服务器上去看了下错误日志,发现有一个 ``MemcachedKeyCharacterError: Control characters not allowed`` 的错误,看了下url,是因为有一个url(用文章标题做slug)中间有空格,导致memcached出错。 有两个解决方案,第一是去掉所有空格,然后把这个当做key。第二个就是稍复杂点,取slug得md5值。
看到一篇关于缓存算法很好的翻译文章,推荐大家看看,涉及到LRU、LFU等一系列算法。我觉得翻译的挺好,最后还给出了代码实现,有兴趣的可以看下..
下面要分享的这个LRUCache不是我做的,是github上的一个库,我们在实际环境中有用到。 先来说下这个概念,cache的意思就是缓存,LRU就是Least Recently Used,即最近最少使用,是一种内存管理算法。总结来说这就是一种缓存方法,基于时间和容量。 一般
上篇文章简述了一下使用Filter对url进行控制,这篇文章说一下缓存的控制。当然了以此类推的可以得到filter还可以对其他的内容进行控制,比如以前写的《通过java filter设置字符集编码》。这次东西的实现所依靠的就是filter的特性,