<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 緩存 * 緩存數據就是為了保存需要計算資源的結果,這樣的話就不必在下次重復消耗計算資源 * Django自帶了一個健壯的緩存系統來保存動態頁面,避免對于每次請求都重新計算 * Django提供了不同級別的緩存粒度,可以緩存特定視圖的輸出,可以僅僅緩存哪些很難生產出來的部分、或者可以緩存整個網站 ## 設置緩存 * 通過設置決定把數據緩存在哪里,是數據中,文件系統,還是內存中 * 通過設置settings文件的CACHES配置來實現 * 參數TIMEOUT:緩存的默認過期時間,以秒為單位,這個參數默認是300秒,即5翻照片那個;設置TIMEOUT為None表示永遠不會過期,值設置成0造成緩存立即失效 ```text # 本地緩存 CACHES = { 'default':{ 'BACKEND':'django.core.cache.backends.locmem.LocMemCache', 'TIMEOUT':60, } } ``` * MemcachedCache ```text 緩存包:pip install python-memcached pip install pylibmc # 緩存 CACHES = { 'default':{ 'BACKEND':'django.core.cache.backends.loca.MemcachedCache', #'BACKEND':'django.core.backends.memcached.PyLibMCCache' 'TIMEOUT':60, 'LOCATION':'127.0.0.1:11211', } } 在此示例中,高速緩存通過在IP地址172.19.26.240和172.19.26.242上運行的Memcached實例共享,這兩個實例都位于端口11211上: CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': [ '172.19.26.240:11211', '172.19.26.242:11211', ] } } ``` * 可以將cache存到redis中,默認采用1數據庫,需要安裝包并配置如下: ```text 安裝包:pip install django-redis-cache # 緩存 CACHES = { 'default':{ 'BACKEND':'redis_cache.cache.RedisCache', #'BACKEND':'django.core.backends.memcached.PyLibMCCache' 'TIMEOUT':60, 'LOVATION':'localhost:6379', } } ``` * 連接redis,查看存儲的數據 ```text 開啟redis服務:net start reids 連接:redis-cli 切換數據庫:select 1 查看鍵:keys * 查看值:get 鍵 ``` ![](https://box.kancloud.cn/2d430958c7b009a60ad3be897b2471ad_700x202.png) ## 單個view緩存 * django.views.decorators.cache定義了cache\_page裝飾器,用于對視圖的輸出進行緩存 * 示例代碼 ```text urls.py # 配置路由 urlpatterns = [ path('cache/<int:code>/',views.cache), ] views.py #創建視圖 @cache_page(60 * 15) def cache(request,code): # return render(request,'html/cache.html') return HttpResponse("hello world") ``` * cache\_page:timeout參數,緩存超時,以秒為單位,上述實體,cache視圖的結果將被緩存15分鐘 * 視圖緩存與URL無關,如果多個URL指向同一視圖,每個URL將會分別緩存 ## 模板片段緩存 * 使用cache模板標簽來緩存模板的一個片段 * 需要兩個參數: * 緩存時間,以秒為單位 * 給緩存片段起的名稱 * 示例: ```text {% load cache %} {% cache 500 hello %} hello world {% endcache %} ``` ## 底層的緩存api ```text views.py #緩存視圖 from django.core.cache import cache from django.core.cache.utils import make_template_fragment_key def cachesettings(request): cache.set('name', 'angle', 60*30) print(cache.get('name')) # cache.delete('name') # cache.clear() return render(request,'html/test.html') urls.py #配置路由 url(r'^test/$',views.cachesettings) ``` ```text from django.core.cache import cache 設置:cache.set(鍵,值,有效時間) 獲取:cache.get(鍵) 刪除:cache.delete(鍵) 清空:cache.clear() 設置多個值:cache.set_many({'a':1,'b':2}) 獲取多個值:cache.get_cache(['a','b','c']) 刪除多個值:cache.delete_many(['a','b']) 遞增:cache.incr('num') 遞減:cache.decr('num') 關閉連接:cache.close() ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看