django缓存优化

Posted zkkysqs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django缓存优化相关的知识,希望对你有一定的参考价值。

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

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

from django.x import xxxx

这时我们可以借助django_extensions工具

1、安装

(newblog-ES3JapFS) E:PycharmProjectsmywebsite>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:PycharmProjectsmywebsite>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‘)

 

以上是关于django缓存优化的主要内容,如果未能解决你的问题,请参考以下文章

Django 缓存优化

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

django缓存优化

如何优化 Django REST Framework 的性能

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

Django之使用redis缓存session,历史浏览记录,首页数据实现性能优化