Django中使用Redis

Posted 粗糙的丸子

tags:

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

django中使用redis

方案一:(在其它web框架也可以使用)

utils文件夹下,建立redis_pool.py

import redis
POOL=redis.ConnectionPool(127.0.0.1,6379,max_connections=1000)

视图函数中使用:

 

技术分享图片
from django.shortcuts import render, HttpResponse
import redis
from app01.redis_pool import POOL


# 这是通用的方法
# 第一种方案:
# 1.写一个模块,写一个pool,导入
def setname(request):
    conn = redis.Redis(connection_pool=POOL)
    conn.set(name, 曹蕊是好人)
    return HttpResponse(设置成功)


def getname(request):
    conn = redis.Redis(connection_pool=POOL)
    name = conn.get(name).decode(utf-8)
    return HttpResponse(name)
第一种方法代码

 

方案二:

安装django-redis模块

pip3 install django-redis

setting里配置:

# redis配置
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {"max_connections": 100}
            # "PASSWORD": "123",
        }
    }
}
这样就可以把缓存放在redis里面了

视图函数:


from django_redis import get_redis_connection

def
setname(request): conn = get_redis_connection() conn.set(name, 测试) return HttpResponse(设置成功) def getname(request): conn = get_redis_connection() name = conn.get(name).decode(utf-8) return HttpResponse(name) from django.views.decorators.cache import cache_page @cache_page(5) def test(request): import time ctime = time.time() return HttpResponse(str(ctime))

 



以上是关于Django中使用Redis的主要内容,如果未能解决你的问题,请参考以下文章

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

django使用redis

如何在Django视图中使用for循环返回每次迭代[关闭]

如何在扩展另一个文件的 django 模板中使用带有动态内容的 html 块片段?

如何在 Django 中显式重置模板片段缓存?