Python3操作Redis
2018-01-10 本文已影响150人
spilledyear
安装redis
通过包管理工具pip安装redis
pip intall redis
连接redis
redisInstance = redis.Redis(host='localhost', port=6379)
操作redis
在redis中存一个 list
def init_branch(self):
sql = "SELECT DOT_SHORT_NAME FROM qf_ce_branch_bank"
cursor.execute(sql)
for row in cursor.fetchall():
redisInstance.lpush("validate.branch", row[0])
print("初初始化分行完成")
//在以上代码中,key 为 "validate.branch"
从redis中获取一个list
branchs = redisInstance.lrange("validate.branch", '0', sys.maxsize)
//branchs 就是一个list
不过这里有一个需要注意的问题,这里直接从 redis 中拿出来的数据并不是最直接的字符串。这里我使用redis的目的是为了校验数据。我们的数据分为基础数据和业务数据,业务数据依赖基础数据,比如 分行信息 就属于基础信息。在我们的数据库中,保存了16万的 分行信息,如果导入一批业务数据,需要校验该数据的分行字段是否在十六万分行中。所以这里将 16 万分行信息缓存到redis,然后进行校验,这样就不需要在校验每条业务数据的时候都从分行表里面查一次再校验。
暂时不知道怎么获取最直接的字符串,所以再校验的时候是这样处理的
if row[3].encode('utf-8') not in branchs:
print("ffff")
//注意 row[3].encode('utf-8')