你如何确认 django 正在使用 memcached?
How do you confirm django is using memcached?
我有一个 python django 网络服务器,我正在尝试使用 memcached 使其更快。
我已经下载并安装了 memcached 并启动了一个名为 virtual 的用户,如下所示:
/usr/local/bin/memcached -u virtual &
在 django setting.py 上,我将 memcached 服务器设置为:
MEMCACHE_HOSTS = ['192.168.101.1:11211']
我可以做 telnet 192.168.101.1 11211 和统计,我确实在那里看到了一些统计数据等等。
我怎么知道我的 django 服务器是否使用了 memcached?有没有我可以查看的目录或一些文件可以确认?
感谢您的任何见解。
manage.py的内容:
#!/usr/bin/env python
import os
import sys
from django.core.management import execute_from_command_line
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
从命令行:
phthon
from django.core.management import execute_from_command_line
当我这样做时:
from django.core.cache import cache
我收到这些错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib64/python2.6/site-packages/django/core/cache/__init__.py", line 69, in <module>
if DEFAULT_CACHE_ALIAS not in settings.CACHES:
File "/usr/local/lib64/python2.6/site-packages/django/conf/__init__.py", line 54, in __getattr__
self._setup(name)
File "/usr/local/lib64/python2.6/site-packages/django/conf/__init__.py", line 47, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting CACHES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
您可以在 Django 的 shell (python manage.py shell
) 中测试缓存:
>>> from django.core.cache import cache
>>> cache.set('foo', 'bar', 600)
>>> cache.get('foo')
'bar'
如果cache.get()
return是设定值,则表示缓存正在正常工作。否则会 return None
.
另一种选择是使用 $ memcached -vv
启动 memcached,因为它会将所有缓存访问记录到终端。或者,您可以为 memcached 安装监控工具(即 memcache-top),并在使用您的应用程序时检查 memcached 中是否发生了某些事情。
我有一个 python django 网络服务器,我正在尝试使用 memcached 使其更快。
我已经下载并安装了 memcached 并启动了一个名为 virtual 的用户,如下所示:
/usr/local/bin/memcached -u virtual &
在 django setting.py 上,我将 memcached 服务器设置为:
MEMCACHE_HOSTS = ['192.168.101.1:11211']
我可以做 telnet 192.168.101.1 11211 和统计,我确实在那里看到了一些统计数据等等。
我怎么知道我的 django 服务器是否使用了 memcached?有没有我可以查看的目录或一些文件可以确认?
感谢您的任何见解。
manage.py的内容:
#!/usr/bin/env python
import os
import sys
from django.core.management import execute_from_command_line
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
从命令行:
phthon
from django.core.management import execute_from_command_line
当我这样做时:
from django.core.cache import cache
我收到这些错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib64/python2.6/site-packages/django/core/cache/__init__.py", line 69, in <module>
if DEFAULT_CACHE_ALIAS not in settings.CACHES:
File "/usr/local/lib64/python2.6/site-packages/django/conf/__init__.py", line 54, in __getattr__
self._setup(name)
File "/usr/local/lib64/python2.6/site-packages/django/conf/__init__.py", line 47, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting CACHES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
您可以在 Django 的 shell (python manage.py shell
) 中测试缓存:
>>> from django.core.cache import cache
>>> cache.set('foo', 'bar', 600)
>>> cache.get('foo')
'bar'
如果cache.get()
return是设定值,则表示缓存正在正常工作。否则会 return None
.
另一种选择是使用 $ memcached -vv
启动 memcached,因为它会将所有缓存访问记录到终端。或者,您可以为 memcached 安装监控工具(即 memcache-top),并在使用您的应用程序时检查 memcached 中是否发生了某些事情。