生成的 200 个激活码(或者优惠券)保存到 Redis 非关系型数据库中。
需求:如何生成优惠券请看二或者三,关键问题在如何将生成的数据存入redis数据库中,由于redis属于key——value形式,难度在于从没有用过redis,所以需要仔细说说redis数据库。
redis介绍:
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
安装redis服务器:
首先安装分为两部分,第一部分为安装redis服务器,请移步下载,根据系统类型安装即可,我是用的是windows
https://github.com/MicrosoftArchive/redis/releases
安装redis第三方库,使用pip
pip install redis
#-*- coding:utf-8-*-
#生成邀请码功能
import redis
import string,random
def generateCode(n):
r=[]
s=string.digits+string.ascii_letters
for i in range(200):
t=''
for j in range(n):
t+=random.choice(s)
r.append(t)
return r
#存入redis数据库功能
HOST = 'localhost'
PORT = 6379
DB = 0
rdb = redis.Redis(HOST,PORT,DB)
r = generateCode(8)
for i in range(200):
rdb.sadd(i,r[i])
rdb.save()
如有redis操作不懂的请查看官方文档:
http://redis-py.readthedocs.io/en/latest/