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