0%

Python练习册:0003

========================

题目

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

分析

对Redis的介绍可以看菜鸟教程,这里使用redis-py库。

pip install redis

准备

  • Arch Linux 安装Redis
1
2
sudo pacman -S redis #安装
sudo systemctl start redis #启动Redis数据库 或者使用 redis-server

代码

# 生成激活码的函数
import uuid
def Generate_Code(counts,length=20):
    key_list = []

    for i in range(counts):
        key = str(uuid.uuid4())[:length]
        if key not in key_list:
            key_list.append(key)

    return key_list

import redis

#创建数据库连接
def redis_conn():
    #用线程池的方式减少性能开销
    pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
    r = redis.Redis(connection_pool=pool)

    return r

#将激活码用List方式储存到Redis数据库
def updata_redis():
    r = redis_conn()
    key = Generate_Code(200)
    for i in key:
        r.rpush("Code",i)
    r.save()

#从Redis读取数据
def getdata():
    r = redis_conn()
    for key in r.lrange("Code",0,-1):
        print(key)

if __name__ == "__main__":
    updata_redis()
    getdata()```



## 参考
* https://www.jianshu.com/p/2639549bedc8

欢迎关注我的其它发布渠道