如何榨干阿里云 1核1G 的服务器
阿里云最便宜的服务器 1核1G 大多是拿来科学上网用的。
跑个数据库驱动的网站,撑不了多少量。
不过对于每个月还没收入,一天维持 1000 UV 上下的小站长来说。如何用好手上的资源,还是挺重要的。
虽然,能用钱解决的问题都不是问题。但是,关键目前还没钱。
扯淡完毕,回到正题。
本周主要说 python-diskcache 一个纯 Python 的缓存系统。
官方也给出了 redis, memcached, locmem, diskcache 性能对比
GET
SET
从官方给出的 benchmark 来看 diskcache 读取性能很好, 写入性能有点差(是很差)。
我认为,页面做静态化主要的用到还是读取。 写入差点问题不会很大。
Pyhton-DiskCache 可以无缝对接 Django, 只要加上如下配置到你的 django settings.py 中就可以了。
CACHES = {
'default': {
'BACKEND': 'diskcache.DjangoCache',
'LOCATION': '/path/to/cache/directory',
'SHARDS': 4,
'DATABASE_TIMEOUT': 1.0,
'OPTIONS': {
'size_limit': 2 ** 32 # 4 gigabytes
},
},
}
接着,可以配合 django-cache-machine 一起使用
- 安装:
pip install django-cache-machine
- 配置:
from django.db import models
from caching.base import CachingManager, CachingMixin
class Zomg(CachingMixin, models.Model):
val = models.IntegerField()
objects = CachingManager()
这样基本上可以做到无缝升级。
写在最后:
有足够的预算还是用 redis 或者 memcached。
用 diskcache 就一个原因:穷