1. 程式人生 > >Python3.6 20個入門級小程式(四)

Python3.6 20個入門級小程式(四)

生成的 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/