django缓存优化(一)

在配置之前,先介绍一个实用的工具:

当我们进入虚拟环境,在shell中进行操作的时候,往往要导入django的各种配置文件:

from django.x import xxxx

这时我们可以借助django_extensions工具

1、安装

(newblog-ES3JapFS) E:\PycharmProjects\mywebsite>pip install django_extensions

2、在settings中配置‘django_extensions‘

INSTALLED_APPS = [
    ‘django.contrib.admin‘,
    ‘django.contrib.auth‘,
    ‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,

    ‘django_extensions‘,

]

3、在shell中使用:python manage.py shell_plus

结果如下:

(newblog-ES3JapFS) E:\PycharmProjects\mywebsite>python manage.py shell_plus
# Shell Plus Model Imports
from django.contrib.admin.models import LogEntry
from django.contrib.auth.models import Group, Permission
from django.contrib.contenttypes.models import ContentType
from django.contrib.sessions.models import Session
from myweb.models import Ad, Article, Category, Comment, Links, Tag, User
# Shell Plus Django Imports
from django.core.cache import cache
from django.conf import settings
from django.contrib.auth import get_user_model
from django.db import transaction
from django.db.models import Avg, Case, Count, F, Max, Min, Prefetch, Q, Sum, When, Exists, OuterRef, Subquery
from django.utils import timezone
from django.urls import reverse
Python 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>

Bingo!成功地导入!

现在我们来操作吧:

>>> from django.core.cache import caches
>>> cache[‘default‘]
Traceback (most recent call last):
  File "<console>", line 1, in <module>
TypeError: ‘DefaultCacheProxy‘ object is not subscriptable
>>> caches[‘default‘]
<django.core.cache.backends.locmem.LocMemCache object at 0x00000186B3102B00>
>>> from django.core.cache import cache
>>> cache.get(‘test‘)
>>> cache.set(‘mykey‘,‘hello‘,30)
>>> cache.get(‘mykey‘)
‘hello‘
>>> cache.get(‘mykey‘)
‘hello‘
>>> cache.get(‘mykey‘)
‘hello‘
# 30s之后缓存结束了,已经得不到返回值。
>>> cache.get(‘mykey‘)
>>> cache.get(‘mykey‘)

原文地址:https://www.cnblogs.com/zkkysqs/p/9539595.html

时间: 2024-10-11 18:57:39

django缓存优化(一)的相关文章

django缓存优化中caches参数如何配置?

在python开发中,如果运营django进行编写,为了提升效率,常常需要优化缓存,缓存优化中必须掌握的caches参数相关知识: CACHES 配置参数概述 - 格式 CACHES 字典配置格式如下 {'default': {‘BACKEND’:'django.core.cache.backends.locmem.LocMemCache’,}} 配置 CACHES 字典时必须配置 default 缓存 CACHES 配置参数概述 - BACKEND 支持的 BACKEND: 1)'django

Django缓存优化之redis

Redis 概述 Redis 是一个开源的Inmemory key-value 存储系统,性能高,很大程度上补偿了 memcached 的不足.支持多种存储类型,包括 string, list, set, zset(sorted set -- 有序集合)和 hash. Redis 优点 1)异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录.? 2)支持丰富的数据类型:Redis支持最大多数开发人员已经知道的像列表,集合,有序集合,散列数据类型.这使得它非常容易解

Django 缓存优化

1 缓存框架基本原理 减小负载,提高性能 2 缓存系统 Memcached 最快最有效 Database caching Local-memory caching Dummy caching Using a custom cache backend 缓存粒度: per-site , per-view , template fragment , low-level cache 3 缓存配置

Django—— 缓存框架

译者注:1.无用的,吹嘘的说辞不翻译:2.意译,很多地方不准确. 动态网站最为重要的一点就是好,网页是动态的.每一次用户请求页面,网站就要进行各种计算——从数据库查询,到render模板,到各种逻辑运算——生成页面所需的.这个过程是异常消耗资源的,远远比从硬盘读取一个文件然后显示出来的代价高昂. 对于大多数中小网站来说,这也许不是问题,因为他们的访问量不大,而对于大型网站而言,必须尽量减少不必要的服务器资源开支. 因此,有了缓存技术. 缓存就是把一些需要消耗很多资源的计算结果保存下来,当下次需要

PHP服务缓存优化之ZendOpcache、xcache、eAccelerator

PHP服务缓存优化原理 Nginx 根据扩展名或者过滤规则将PHP程序请求传递给解析PHP的FCGI,也就是php-fpm进程 缓存操作码(opcode) Opcode,PHP编译后的中间文件,缓存给用户访问 当客户端请求一个PHP程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码文件,该文件是执行PHP代码后的一种二进制文件表现形式.默认情况下,这个编译好的操作码文件由PHP引擎执行后丢弃:而操作码缓存的原理就是将编译后的操作码保存下来,并放入到共享内存里,以便再下一次调用

gem5验证数组的缓存优化

陆续写些关于新书<自己动手写CPU>的博客,本篇主要是讲解 gem5验证数组的缓存优化 软件优化是提高cache命中率的十分有效的手段,cache的基本原理是利用程序局部性,而软件优化可以通过提高程序局部性,从而提高cache命中率.举一个例子如下: 程序A: #include <stdio.h> int main() { int i=0,j=0; long count=0; long temp[51200][8]; for(i=0;i<51200;i++) for(j=0;

hdu - 4920 - Matrix multiplication(缓存优化+开挂)

题意:求两个n x n的矩阵相乘后模3的结果,n <= 800. 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4920 -->>呀呀.. 1.3层计算的for进行缓存优化,根据CPU的L1级缓存的实现原理,减少缓存的变更.如果每次都计算完一个单元格的结果再计算下一个单元格的结果,那么被乘矩阵的访问就会频繁地更新缓存,使效率很低.. 2.输入开挂,G++提效500ms+.. 3.对乘法进行剪枝.. 没有第1个操作,后果是严重的.. n^3的

LDAP索引及缓存优化

一.设置索引 索引将查找信息和 Directory Server 条目关联起来. Directory Server支持以下几种索引: 1出现索引 (pres) - 列出了具有特定属性的条目,与属性的值无关. 2等式索引 (eq) - 使您能够高效地搜索包含特定属性值的条目. 3近似索引 (approx) - 通过使用 ~= 过滤运算符提供了高效的"音似"搜索功能. 例如,近似索引对于搜索部分名称或拼错的名称很有用.Directory Server 使用 变音位语音算法的一个变体来执行近

LAMP与LNMP加速与缓存优化(一)1

php web引擎缓存加速优化 lamp基础  web环境准备 centos 6.5_64   Apache/2.2.27 (Unix)  mysql5.1.72   php5.3.27 /application/apache/bin/apachectl -V Server version: Apache/2.2.27 (Unix) cat /application/apache/build/config.nice  查看编译的参数 grep  CONFIGURE  /application/m