php - 使用 PHP 管理多个网页

标签 php redis synchronization

我正在使用 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/

相关文章:

java - ReadWriteLock 是否使 synchronized 关键字变得不必要?

java - 使用synchronized时,Java如何确定哪个线程应该继续执行?

php - 两台MySQL服务器

php - zend 框架仅引导特定模块

php - Symfony 2 服务容器为空

c# - 使用 ServiceStack 通过 Redis 管理/更新 ASP.NET 中的记录

php - 如何使用 gettext 翻译 MySQL 中的数据?

caching - 无法使用 apache geode wan 复制复制大值

redis - 多个客户端可以同时访问同一个列表而不会在 Redis 中被阻止吗?

ios - 如何通过跨设备同步唯一标识 EKEvent