iT邦幫忙

0

django新手村11-----緩存

  • 分享至 

  • xImage
  •  

緩存對於伺服器的好處,在於使用者會將數據加載到內存,減少了對資料庫的訪問

終端輸入

python manage.py createcachetable my_cache_table

在setting.py中添加caches

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
        'LOCATION': 'my_cache_table',
    }
}

兩種寫法

手動寫快取,一開始先判斷有沒有這個快取名稱('index'),有就使用快取資料,沒有就去加載資料,這邊使用time.sleep(5)來假裝資料要存取很久的時間,cache.set裡面的timeout表示它會記得快取30秒

def index(request):

    if cache.get('index'):
        return HttpResponse(cache.get('index'))

    time.sleep(5)
    response = render(request, 'index.html')

    cache.set('index', response, timeout=30)

    return response

另一種簡單的多,就加個@cache_page()

from django.views.decorators.cache import cache_page

@cache_page(30)
def index(request):
    time.sleep(5)
    return render(request, 'index.html')

還有很多快取的方法,快取可以同時用不同種的,如果想更深入研究的,redis可以看看


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言