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

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

import redis
import string
import random


class MrRedis():
    def __init__(self):
        self.conn = None

    def connection( self ):
        self.conn = redis.Redis(host='0.0.0.0',port=6379,db=2)

    # 列表list 添加数据
    def lpush_redis( self ,k_list):
        for key in k_list:
            self.conn.lpush('key',key)

    # 集合set 添加数据
    def sadd_redis( self,k_list ):
        for key in k_list:
            self.conn.sadd('key',key)

    # 列表list 读取数据
    def lrange_redis( self ):
        k_list = self.conn.lrange('key',0,-1)
        for key in k_list:
            print(key.decode())

    # 集合set 读取数据
    def smembers_redis( self ):
        s = self.conn.smembers('key') #返回的是个集合set
        for key in s:
            print(key.decode())


    def flushdb_redis( self ):
        self.conn.flushdb()

def gen_key(num,len=7):  # num 为生成多少个,len 每个的长度
    result = []
    base_str = string.ascii_letters + string.digits    # 所有的大小写字母和数字
    for i in range(num):  #控制生成多少个
        key_list = [random.choice(base_str) for i in range(len)]  #用列表生成式生成列表
        # print(key_list)
        key_str = ''.join(key_list)         # 将列表用join形成字符串
        # print(key_str)
        result.append(key_str)
    return result



if __name__ == '__main__':
    r = MrRedis()
    r.connection()
    r.flushdb_redis()
    key_list = gen_key(200)
    # 列表list  可以重复添加
    # r.push_redis(key_list)
    # r.lrange_redis()
    # 集合set(每个元素都是唯一,不能重复添加) 
    r.sadd_redis(key_list)
    r.smembers_redis()




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值