博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python练习册第三题
阅读量:5905 次
发布时间:2019-06-19

本文共 1489 字,大约阅读时间需要 4 分钟。

题目

将 0001 题生成的 200 个激活码(或者优惠券)保存到 Redis 非关系型数据库中。

解题思路

难点是压根不知道redis怎么用。好在找到了一些文章快速学了些:

安装redis包,就可以开始用了。

解决代码

mport redisimport base64import re# 查询def query(r, name, key):    return r.hget(name=name, key=key)if __name__ == '__main__':    dict = {}    r = redis.Redis(host='127.0.0.1', port=6379, db=0)    with open('coupon.txt', 'r') as fp:        for line in fp.readlines():            s = base64.urlsafe_b64decode(line.encode('utf-8'))            id = re.findall(r'.*/.*:(.*)\'', str(s))            r.hset(name='coupon', key=line.strip(), value=id)

redis哈希储存可以用下表表示,这是从别人博客抄过来的:

name                hash               |````````````|n1   --------> | k1 --> v1  |               | k2 --> v2  |               |____________|               |````````````|n2   --------> | k7 --> v7  |               |____________|

这样子存储后在redis中只有一个key就是coupon,相关的查询操作都是在这个key上。

redis相关操作记录

切换db:select+n

清除缓存:`flushdb' or 'flushall'

别人的代码

PS: 大同小异,窃喜

import redisimport base64import redef make_connect():    r = redis.Redis(host='127.0.0.1', port=6379, db=1)    return rdef parse_coupon(c_code):    return base64.urlsafe_b64decode(c_code.encode('utf-8'))def upload_to_database():    session = make_connect()    with open('coupon.txt', 'r') as file:        for line in file.readlines():            c_id = re.findall(r'.*/.*:(.*)\'', str(parse_coupon(line)))            session.set(c_id.pop(), line.strip())if __name__ == '__main__':    upload_to_database()

转载于:https://www.cnblogs.com/ChanWunsam/p/10018284.html

你可能感兴趣的文章
书摘—你不可不知的心理策略
查看>>
【博客话题】毕业——开始人生的艰苦历程
查看>>
Linux安装telnet
查看>>
sap scriptfom 多语言翻译
查看>>
黄聪:3分钟学会sessionStorage用法
查看>>
Entity Framework 全面教程详解(转)
查看>>
Windows上Python2.7安装Scrapy过程
查看>>
挖掘数据金矿 领军协同创新 曙光荣膺“2016大数据创新应用领袖企业”称号
查看>>
Fast通道获得Win10 Mobile Build 14977更新
查看>>
Firefox 跟踪保护技术将页面加载时间减少 44%
查看>>
java解析虾米音乐
查看>>
mysql 多行合并函数
查看>>
艾级计算机的发展与挑战
查看>>
RocketMQ事务消息实战
查看>>
手把手教你做出好看的文本输入框
查看>>
zabbix 3.2.7 (源码包)安装部署
查看>>
vsCode 快捷键、插件
查看>>
网络最大流问题算法小结 [转]
查看>>
iOS推送消息报错误“Domain=NSCocoaErrorDomain Code=3000”的可能问题
查看>>
kvm-1
查看>>