如何使用Mem cached实现Django项目缓存
1.安装mem cached
这里以Centos下安装为例。运行以下命令安装mem cached
sudo yum install memcached
测试是否安装成功
memcached -help
如果不报错则表示安装成功
2. run mem cached
memcached -d -m 64 -l 127.0.0.1 -p 11211 -u root
-d:表示运行后台守护进程
-m:表示使用多少内存,这里使用64M
-l:是监控服务器的IP地址,填写在本地这里如果你想让其他机器也能访问,输入0.0.0.0
-p:是端口号,默认是11211
-u:指定你要运行哪个用户,输入root
这里查看mem cached是否运行成功,请使用以下命令
ps -ef|grep memcached
如果看到下图,说明已经运行成功了
可以使用以下命令
killall -9 memcached
3来关闭memcached进程。连接 Mem cached
使用 telnet 进行连接,先安装 telnet,如下命令
sudo yum install telnet
安装完成后,使用以下命令连接 mem cached
telnet 127.0.0.1 11211
会出现如下界面,表示连接成功成功的。运行exit会终止连接
至此我们已经成功安装了meme cached,可以成功运行了。下面是如何使用Django项目
4。安装python-mam cached
安装在自己项目的python环境中。如果是虚拟化的,需要先启动虚拟环境,然后再安装。命令如下
pip install python-memcached
5 。 Django项目配置
在我们项目的setting.py文件中,添加CACHE选项如下
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}
然后根据你项目当前的情况设置想要的缓存时间。我个人博客的缓存时间设置为一天,即60*60*24秒
CACHE_MIDDLEWARE_SECONDS=60*60*24
最后我们将cached meme请求的Django中间件添加到MIDDLEWARE中间件中。由于我决定缓存整个站点,所以以下是必要的事情: 注意中间件的位置和顺序
'django.middleware.cache.UpdateCacheMiddleware',# 放到中间件第一个位置
...... # 其他中间件
'django.middleware.cache.FetchFromCacheMiddleware',#放在中间件的最后位置
以上就是我们所有的配置和安装。重启nginx和uwsgi后,就可以开启站点速度测试了。第一次打开它可能会比较慢,因为您请求的内容刚刚被缓存。当您再次打开它时打开或在缓存时间内打开只需设置它将在几秒钟内打开。
6。注意事项
因为我们设置了24小时缓存,如果您在缓冲时间内写博文,您的网站将不会立即显示。直到缓存超时才会更新。如果想立即看到,需要手动清除缓存。如果缓存过期,网站会从数据库中检索数据。如果手动让缓存过期,使用以下命令
# 先连接memcached
telnet 127.0.0.1 11211
#清除缓存
flush_all
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。