zoukankan      html  css  js  c++  java
  • django中使用Redis

     

    方式一

    新建一个py文件,在视图类中导入

    utils>redis_pool:

    import redis
    Pool=redis.ConnectionPool(host='127.0.0.1',port=6379,max_connections=100)

    views:

    from django.shortcuts import render,HttpResponse
    
    # Create your views here.
    from redis import Redis
    from utils.redis_pool import Pool
    conn=Redis(connection_pool=Pool)
    def index(request): ret=conn.get('name') print(ret) return HttpResponse('ok')

     方式二:

     在setting中配置

    # 安装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",
            }
        }
    }

    views:

    from django_redis import get_redis_connection
    conn = get_redis_connection('default')
    print(conn.hgetall('xxx'))

    管道

    redis-py默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,

    如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且默认情况下一次pipline 是原子性操作。

    import redis
     
    pool = redis.ConnectionPool(host='10.211.55.4', port=6379)
     
    r = redis.Redis(connection_pool=pool)
     
    # pipe = r.pipeline(transaction=False)
    pipe = r.pipeline(transaction=True)
    pipe.multi()
    pipe.set('name', 'alex')
    pipe.set('role', 'sb')
     
    pipe.execute()
  • 相关阅读:
    DevExpress 数据与展示的不同
    WPF 自定义属性
    ruby中的retry和redo
    linux mint 18.1 安装nvidia显卡驱动
    gradle << 操作符作废
    emacs不能使用中文输入法
    linux mint 崩溃
    mint安装相关数据库lib
    字体安装文泉驿正黑
    Emacs使用projectile-rails 插件注意事项
  • 原文地址:https://www.cnblogs.com/tuzaizi/p/13167617.html
Copyright © 2011-2022 走看看