我的网页游戏中的用户将某些玩家信息缓存在 PHP 的 $_SESSION 中。每次加载游戏时,它都会检查会话是否存在,如果不存在,他们会从 MySQL 数据库中获取玩家信息,然后将其存储在 $_SESSION 中。
现在我的问题是,如果玩家信息被另一个进程或玩家更新了怎么办?他们无法更新其他玩家的 $_SESSION 缓存。
我知道 memcached 很可能是解决这个问题的方法,但我不确定我是否应该花时间做这样的事情。$_SESSION 缓存对我来说做得很好,除了这个。
- 我正在考虑为它创建一个 MySQL 表,该表在每次请求时都会被读取,并且如果有玩家记录它会重新创建缓存。
- 另一种解决方案是在目录中创建一个文件,文件名中包含播放器的 id。每个请求 PHP 都会检查
file_exist
它是否应该清除缓存。
你们会怎么做?它会在每个请求中执行,因此对其进行优化非常重要。