如何将图片验证码 存到redis 中,并设置过期时间
时间: 2023-06-09 12:06:40 浏览: 61
将图片验证码存到redis中,可以通过以下步骤实现:
1. 生成验证码图片,并将验证码字符串存储到redis中。将验证码字符串作为key,图片url作为value存入redis中。
```python
import redis
import random
import string
from PIL import Image, ImageDraw, ImageFont
# 生成随机验证码
def random_code():
code_len = 4
code = ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(code_len))
return code
# 创建验证码图片
def create_captcha(code):
img = Image.new('RGB', (120, 40), (255, 255, 255))
draw = ImageDraw.Draw(img)
font = ImageFont.truetype(r'C:\Windows\Fonts\arial.ttf', 25)
draw.text((10, 10), code, font=font, fill=(0, 0, 0))
img.save(r'captcha.png')
return r'captcha.png'
# 存储验证码到redis中
def save_code_to_redis():
code = random_code()
captcha_file = create_captcha(code)
r = redis.Redis(host='localhost', port=6379, db=0, password=None)
r.setex(code, 300, captcha_file)
```
2. 设置redis key的过期时间为300秒。
```python
r.setex(code, 300, captcha_file)
```
以上就是将图片验证码存储到redis中,并设置过期时间的方法。