Django 缓存入门教程
来源:互联网 发布:re管理器怎样改mac 编辑:程序博客网 时间:2024/05/22 04:02
Django 缓存入门教程
说明:本教程开发环境为CenOS 6 + Python2.7 + Django1.12,假设您已经成功安装Django环境。
关于redis
REmote DIctionary Server(Redis) 是一个key-value存储系统,它既可基于内存亦可持久化。
安装redis
yum install redis
测试redis安装是否成功
service redis start
redis-cli
如果成功进入命令行,说明redis server安装成功。redis的默认端口是6379
安装django-redis
pip install django-redis
django中如何使用redis
- 在settings中启用redis
# use redis# https://niwinz.github.io/django-redis/latest/# http://django-redis-chs.readthedocs.io/zh_CN/latest/CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/1", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", } }}
- 在views中使用缓存
from django.shortcuts import render,HttpResponse, redirectimport datetimefrom django.core.cache import cachedef test_cache(request): second = datetime.datetime.now().second key = 'titles' titles_cached = cache.get(key) if not titles_cached: titles = [(second, 'Gavin'), (second, 'Michael'), (second, 'Jack')] cache.set(key, titles) else: titles = titles_cached context = {'second': second, 'titles': titles, 'cached': titles_cached} return render(request, 'cache.html', context)
- 在模板页面使用缓存
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body>{% load cache %}{% cache 5 titles_cache %} <!-- 5 代表缓存时间,titles_cache是缓存名称--> <h1>这里应用了缓存技术:{{ second }}</h1>{% endcache %} <h1>这里没有用缓存{{ second }}</h1><h1>现在有title缓存吗?{{ cached }}</h1><ul> {% for title in titles %} <li>{{ title.0}},{{ title.1 }}</li> {% endfor %}</ul></body></html>
常见错误:
wrong number of arguments for ‘set’ command
这是由于redis版本太低引起的,redis2.6以前的版本不支持set命令。
查看redis版本号:redis-server --version
重新安装redis:
yum remove redis
wget http://download.redis.io/releases/redis-3.2.9.tar.gz
tar -zxvf redis-3.2.9.tar.gz
cd redis-3.2.9
make
cd src
make install PREFIX=/usr/local/redis
cd ..
mkdir /usr/local/redis/etc/
mv redis.conf /usr/local/redis/etc/
启动redis:
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
默认redis不是在后台运行的,/usr/local/redis/etc/redis.conf中的daemonize的值修改为yes,重新启动,redis-server即可把redis放在后台运行。
关于memcache
memcache是一个高性能的分布式的内存对象缓存系统,memcache通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据。memcache主要用于分担数据库的压力。
安装memcached
yum install memcached
详细参考:https://github.com/memcached/memcached/wiki/Install
源码安装:
yum install libevent-develwget http://memcached.org/latesttar -zxvf latestcd memcached-1.4.37/./configure --prefix=/usr/local/memcached make && make test && sudo make install
注意:安装后,由于我们指定的安装目录是/usr/local/memcached,所以直接使用memcached命令是不行的,需要/usr/local/memcached/bin/memcached才行。
参考资料:https://github.com/memcached/memcached/wiki/Install#from-source
查看memcached帮助命令
/usr/local/memcached/bin/memcached -h
启动memcached服务
例如:/usr/local/memcached/bin/memcached -u root -p11211 -m 64
这句命令的意思是以root用户启动memcached,最大缓存设置为64M。
如何使用Python操作memcache
pip install pymemcache
from pymemcache.client.base import Client client = Client(('localhost', 11211)) client.set('some_key', 'some_value') result = client.get('some_key')
详细可参考:https://pymemcache.readthedocs.io/en/latest/getting_started.html
memcached可视化工具的使用
treeNMS是一个基于Java的memcached可视化工具。我们可以使用它来查看memcached。
假设,我们把treeNMS安装在Windows系统上,要通过它来访问远程Linux主机上的memcached,则需要在Linux上执行下属命令:
/usr/local/memcached/bin/memcached -l 0.0.0.0 -u root -p11211 -m 64
注意,这里的-l 0.0.0.0代表允许所有主机的访问,当然11211端口必须能被你的windows访问到。
- Django 缓存入门教程
- django入门教程
- Django入门教程
- 缓存入门教程
- Django缓存
- Django 缓存
- 【python Django】django入门教程1
- django入门教程(一)
- Django入门教程01
- python django快速入门教程
- [django]入门教程4:操作数据库
- django 缓存框架
- Django 缓存框架
- Django 缓存框架
- 深入Django 缓存框架
- django缓存机制
- django 设置 数据库缓存
- Django 缓存系统
- sql 创建表、删除表 增加字段 删除字段操作
- html的有序列表与无序列表
- java常用的设计模式
- 子进程 已安装 pre-removal 脚本 返回了错误 子进程 已安装 pre-removal 脚本 返回了错误
- CSS选择器中的正则表达式
- Django 缓存入门教程
- spring入门
- Kmeans聚类算法
- hibernate笔记-014-merge和update的区别
- hibernate概述(一)
- 【转载整理】kafka入门:简介、使用场景、设计原理、主要配置及集群搭建
- 利用border来制作三角形及其他图形
- JVM(8):JVM知识点总览-高级Java工程师面试必备
- 临时手记