首先创建一个redis_db.py,用来建立redis链接,具体的参数自己调整。

import redis

try:
    pool = redis.ConnectionPool(
        host="localhost",
        port=6379,
        password='',
        db=0,
        max_connections=100
    )
except Exception as e:
    print('redis链接错误:{0}'.format(e))

第二,开始自己的代码

"""通过PYTHON和REIDS进行模拟三百人进行投票"""

import random
from redis_db import pool
import redis

con = redis.Redis(
    connection_pool=pool
)

try:
    # 先删除之前的数据
    con.delete("ballot")
    # 正常执行
    con.zadd("ballot", {"马云": 0, "丁磊": 0, "张朝阳": 0, "马化腾": 0, "李彦宏": 0, "罗永浩": 0})
    names = ["马云", "丁磊", "张朝阳", "马化腾", "李彦宏", "罗永浩"]
    for i in range(0, 300):
        num = random.randint(0, 5)
        name = names[num]
        # 随机给一个人加一分
        con.zincrby("ballot", 1, name)
    # 降序取出数据,WITHSCORES既有元素值,也有分数值
    res = con.zrevrange("ballot", 0, -1, "WITHSCORES")
    for one in res:
        print(one[0].decode("utf-8"), int(one[1]))
except Exception as e:
    # 异常提示
    print(e)
finally:
    # 关闭链接
    del con

每次运行,结果都不是一样,例如:

丁磊 59 罗永浩 52 张朝阳 52 马化腾 50 马云 50 李彦宏 37
最后修改:2021 年 07 月 09 日
如果觉得我的文章对你有用,请随意赞赏