Php 数据缓存会造成干扰吗?
我正在为我的PHP站点编写一个新引擎,它具有数据缓存功能。现在我想知道这些脚本之间是否可能存在干扰。考虑下面的例子: 假设许多用户访问了与摄影相关的网站,其中两人几乎在同一时间运行了两个脚本 脚本1从数据库中删除名为“FooBar”的用户及其所有照片 脚本2显示照片编号12345(由FooBar制作)Php 数据缓存会造成干扰吗?,php,mysql,caching,Php,Mysql,Caching,我正在为我的PHP站点编写一个新引擎,它具有数据缓存功能。现在我想知道这些脚本之间是否可能存在干扰。考虑下面的例子: 假设许多用户访问了与摄影相关的网站,其中两人几乎在同一时间运行了两个脚本 脚本1从数据库中删除名为“FooBar”的用户及其所有照片 脚本2显示照片编号12345(由FooBar制作) (脚本1)检查用户“FooBar”是否存在。将其ID存储在变量$ID中 (脚本2)检查照片编号12345是否存在。将所有者ID存储在变量$owner中 (脚本1)query(“从id='$id'的
$ID
中$owner
中query(“从id='$id'的用户中删除”)代码>
query(“从id=“$owner”的用户中选择名称”)代码>//此处出错
query(“从照片中删除,其中所有者=“$id”)代码>
谢谢你的回答。所呈现的场景只是一个例子,我知道这可以用更好的方式来实现。所以,当创建一个大型网站时,我必须时刻意识到数据在运行时是可以更改的
但这样,我就不能信任php中存储在变量中的任何信息。你如何处理这类问题?在一个查询中更新或获取所有数据?所呈现的场景是可能的。我想说的唯一一件事是为这种情况编写一个错误代码:如您所示,查询4没有返回有效的所有者。现在,您可以做几件事,以下只是示例:
- 在组合查询中返回ownername,这样,如果找到图片的所有者,您至少可以显示名称(第2点)。如果以后你想展示更多,你只需返回所有者不再(再)展示的信息。这就是发生的情况(它在加载之间被删除),因此,即使对用户来说有点奇怪,他也必须处理它:)
- 只需在第4点显示错误,有点像上一个示例的第二部分。你很快就得到了一个结果,但结果不见了。所以您返回“无法加载用户”之类的内容