Django專案學習5--註冊功能2,session和redis快取驗證碼(流水賬)
阿新 • • 發佈:2020-03-02
前面利用了uuid加圖形驗證碼的方式來進行驗證,一般驗證碼都有個過期時間。下面來設定過期時間。
def Image_code(request,img_id): text,image = captcha.generate_captcha() # 配置資料庫連線 redis_conn = get_redis_connection('verify_code') # 儲存 # redis_conn.setex('img_{}'.format(img_id).encode('utf8'),10,text) # 設定過期時間 request.session['image_code'] = text request.session.set_expiry(60) return HttpResponse(image,content_type='image/jpg')
把驗證碼快取到session裡面比放到redis資料庫裡面好,因為每次重新整理,都要連線到資料庫,而放到session裡面,可以減少資料庫的消耗。(網站訪問量大的話,資料庫開銷很大)
再提一種方式,把session快取到redis裡面。
配置方式: