首先创建一个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
2 条评论
Pycharm报:ImportError: cannot import name 'pool' 是为什么
因为你应该没建redis_db.py这个文件,所以在引用 from redis_db import pool 就报错了