美文网首页我爱编程
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