django自帶cache結合redis建立永久緩存

0916自我總結

django自帶cache結合redis建立永久緩存

1.redis庫

1.安裝redis與可視化操做工具

1.安裝redis

https://www.runoob.com/redis/redis-install.htmlhtml

2.可視化操做工具

2.在服務中管理redis服務器的開啓關閉

3.命令行簡單使用redis

-- redis-cli  # 啓動客戶端
-- set key value  # 設置值
-- get key  # 取出值

4.redis支持

字符串:String
字典:Hash
列表:List
無序集合:Set
有序集合:Sorted Set

https://www.runoob.com/redis/redis-tutorial.htmlpython

5.特色

內存數據庫:數據存儲在內存中,存取效率極高
nosql數據庫:沒有mysql那樣的表關係,經過 相似字典方式,用 key-value 方式存儲數據
高併發支持:單線程單進程併發
數據可持久化:redis中的數據能夠保存在硬盤中,支持與mysql等數據庫完成數據同步 #獨有特色
支持的類型也較多:相比其餘內存數據庫(memcache)#獨有特色

2.redis庫python中操做

1.安裝模塊

pip3 install redis

2.簡單使用

直接鏈接使用mysql

import redis
r = redis.Redis(db=0) #第幾個庫

鏈接池使用redis

import redis
pool = redis.ConnectionPool(host='127.0.0.1', port=6379)
r = redis.Redis(connection_pool=pool)

經常使用的建立sql

r.set('111',123)
print(r.get('11111'))
print(type(r.get('name')))

r.hmset('dic',{'a':1,'b':1})
print(r.hgetall('dic'))
for a in  r.hgetall('dic').values():
    print(a.decode('utf8'))

3.結合使用

結合二者的特色cache序列化和返序列化操做簡單,redis支持類型多也能夠永久使用數據庫

djang中.setting.py配置django

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379",    #redis的地址
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {"max_connections": 100}  #池的個數
        }
    }
}
#前提必須安裝redis第三方數據模塊

views.py緩存

from django.core.cache import cache  # 結合配置文件實現插拔式
# 存放token,能夠直接設置過時時間
cache.set('token', 'header.payload.signature', 10)
# 取出token
token = cache.get('token')
相關文章
相關標籤/搜索