一次性讲清楚django缓存

发布时间 2023-04-14 16:14:11作者: jintaowant

django缓存

基于内存的缓存:
#在这个例子中,Memcached 运行在 localhost(127.0.0.1)端口 11211,使用 绑定:pymemcache

` CACHES = {
#     'default': {
#         'BACKEND':'django.core.cache.backends.memcached.PyMemcacheCache',
#         'LOCATION':'127.0.0.1:11211',
#     }
# }`
#



#Memcached 有一个很好的特性,就是它可以在多台服务器上共享一个缓存。这
# 意味着你可以在多台机器上运行 Memcached 守护进程,程序将把这组机器作为一个 单一 的缓存,
# 而不需要在每台机器上重复缓存值。要利用这个特性,请在 LOCATION 中包含所有服务器地址,
# 可以是分号或逗号分隔的字符串,也可以是一个列表。

#在这个例子中,缓存是通过运行在 IP 地址 172.19.26.240 和 172.19.26.242 上的
# Memcached 实例共享的,这两个实例都在 11211 端口上:

# CACHES = {
#     'default':{
#         'BACKEND':'django.core.cache.backends.memcached.PyMemcacheCache',
#         'LOCATION':[
#             '172.19.26.240:11211',
#             '172.19.26.242:11211'
#         ]
#     }
# }





基于数据库的缓存
#基于数据库的缓存:
CACHES ={
    'default':{
        'BACKEND':'django.core.cache.backends.db.DatabaseCache',
        'LOCATION': '缓存表的名称'
        #与其他缓存后端不同,数据库缓存不支持自动 在
        # 数据库级别剔除过期条目。相反,
        # 过期的缓存 每次 、 或 调用条目时都
        # 会剔除条目。add()set()touch()

        #python manage.py createcachetable  #生成缓存表 要在终端执行者这行命令
    }
}



#用redis 数据库作为缓存

CACHES = {
    'default':{
        'BACKEND':'django.core.cache.backends.redis.RedisCache',
        'LOCATION':'redis://username:password@127.0.0.1:6379'
    #    'LOCATION':[
        #    'redis://username:password@127.0.0.1:6379'
        #    'redis://username:password@127.0.0.1:6379'
        #    'redis://username:password@127.0.0.1:6379'  多台服务器上的redis数据库进行缓存
        #    ]
    }
}