我创建了一个使用PHP的网站,其中生成了一个随机数(每个人都使用相同的数字),然后存储在redis中,以便为网页上的每个人抓取数字,这样就可以了。同步。但是,我不确定进行此操作的最佳方法。当我需要生成一个新的数字时,我也可以通过PHP生成和访问Redis,这意味着如果网页上有10个人,则会生成10个随机数,并在Redis中不断覆盖彼此。
所以,我的问题是如何让这个系统只生成一个数字,只有那个数字存储在Redis中,而所有其他数字只是从Redis中获取数字?
编辑:我知道我可以检查Redis中是否已经存在该值,如果是这样,请不要覆盖它,只使用该数字,但是,这不是非常低效吗?如果有10,000个用户连接到该网页,则使用Redis进行9,999次不必要的检查。
谢谢。
答案 0 :(得分:0)
您可以检查代表Redis中的数字的密钥是否存在,如果它不存在,那么您可以生成一个新的数字。如果您需要定期生成新号码(例如,随机数有效5分钟),您可以为持有随机数的密钥设置过期时间(https://redis.io/commands/expire)。