我正在使用 PHP 创建一个网站,其中会生成一个随机数(每个人都使用相同的数字),然后将其存储在 redis 中,以便为网页上的每个人获取该数字,使其保持同步。但是,我不确定进行此操作的最佳方法。当我通过 PHP 生成和访问 Redis 以及需要生成新数字时,这意味着如果网页上有 10 个人,将生成 10 个随机数并在 Redis 中不断地相互覆盖。
所以,我的问题是如何让这个系统只生成一个数字,并且只有这个数字存储在 Redis 中,而所有其他的都只是从 Redis 中获取数字?
编辑:我知道我可以检查该值是否已存在于 Redis 中,如果存在则不覆盖它并只使用该数字,但是,这会不会非常低效?如果有 10,000 个用户连接到该网页,则需要对 Redis 进行 9,999 次不必要的检查。
谢谢。
最佳答案
您可以只检查代表数字的键在 Redis 中是否存在,如果不存在,那么您可以生成一个新数字。如果您需要定期生成一个新数字(例如随机数的有效时间为 5 分钟),您可以为保存随机数的 key 设置一个过期时间 ( https://redis.io/commands/expire )。
关于php - 使用 PHP 管理多个网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44740944/