creamidea / Mushroom

To display Node Capture Data and Control it
Other
0 stars 1 forks source link

在Django中使用memcached #2

Open creamidea opened 10 years ago

creamidea commented 10 years ago

install memcached in ubuntu

$ sudo apt-get update
$ sudo apt-get install memcached

本人暂时没有做任何的配置修改,默认配置。

start memcached

$ /usr/bin/memcached -m 64 -p 11211 -u memcache -l 0.0.0.0 -d

-m 最大缓存 -p 端口 -u 使用者 -d 后台运行

use memcached in django

# in settings.py
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': [
            '172.19.26.240:11211',
            '172.19.26.242:11211',
        ]
    }
}

# in some.py
>>> from django.core.cache import cache
>>> cache.set('my_key', 'hello, world!', 30)
>>> cache.get('my_key')

>>> cache.set_many({'a': 1, 'b': 2, 'c': 3})
>>> cache.get_many(['a', 'b', 'c'])
>>> cache.delete('a')
>>> cache.delete_many(['a', 'b', 'c'])
>>> cache.clear()

>>> cache.set('num', 1)
>>> cache.incr('num')
2
>>> cache.incr('num', 10)
12
>>> cache.decr('num')
11
>>> cache.decr('num', 5)

>>> cache.close()

# 装饰器
from django.views.decorators.cache import cache_control

@cache_control(private=True)
def my_view(request):
    # ...

Reference: