美文网首页我爱编程
Python的Redis API

Python的Redis API

作者: brownchen | 来源:发表于2018-03-28 10:28 被阅读0次

    Redis是一款in memory工作模式的高效key-value型NoSQL数据库,支持事务、数据持久存储,并且自带发布/订阅功能。在程序开发过程中,我们可以把Redis用作缓存服务器或者消息中间件,这里主要介绍如何在Python代码中调用第三方API操作Redis。

    前言

    在用代码操作Redis前,最好先解决以下三个问题:

    • Redis应该开启登陆认证,密码使用强密码策略
    • 使用线程池管理可操作Redis数据库的游标
    • 按照一定的规范命名key。例如用HOST:APP:CUSTOMER表示某节点上保存某应用的客户数据

    redis标准库

    import redis
    pool = redis.ConnectionPool(host=HOST, port=PORT, password=认证密码, max_connections=NUM)
    conn = redis.Redis(pool=pool)
    基本的CRUD操作此处不多赘述
    # 事务
    conn.exec_command('multi')
    conn.set('id', 1)
    conn.set('name', 'brown')
    conn.set('gender', 'Male')
    conn.exec_command('exec')
    

    django_redis库

    先在Django项目的settings文件中添加redis配置,示例如下

    CACHES = {
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "redis://127.0.0.1:6379/0",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
                "CONNECTION_POOL_KWARGS": {"max_connections": 1000},
                "DECODE_RESPONSES": True,
            }
        }
    }
    

    随后就能在项目内使用django_redis操作redis。django_redis对Redis API接口进行了封装,与直接使用redis库的区别就类似用ORM与直接使用pymysql操作数据库的区别。

    import json
    from django_redis import get_redis_connection
    conn = get_redis_connection('default')
    # Redis作为消息队列
    信息生产者Producer:
    将数据存入redis
    conn.lpush('KEY', json.dumps({VALUE}))
    信息消费者Consumer:
    取出数据
    json_data = conn.rpop('KEY')
    data =json.dumps(json_data)
    为了提高效率,一次提交N条记录至MySQL数据库
    db_conn = pymsql.connect(host=, port=, database=,user=,password=)
    cur  = db_conn.cursor()
    for i in range(100):
      insert = '''insert into TBL_NAME () value () '''
      cur.execute(insert, data)
    db_conn.commit()
    

    相关文章

      网友评论

        本文标题:Python的Redis API

        本文链接:https://www.haomeiwen.com/subject/ulhscftx.html