WordPress开启redis和cache后串库怎么回事

这种情况出现再同个服务器下面有多个Wordpress的网站中,就是访问其中一个网站的时候发现用户数据却成了另外一个网站的,或者另外一个网站的数据莫名其妙的串到这个网站来了。

很多人以为是因为多个网站导致的,所以导致不敢在同一服务器上同时运行多个wp网站。其实这个原因可以说是,也不完全是。因为在搭建初期的时候,很多人发现没有这个问题的,等到后期发现的时候就显得手足无措。那么到底的是什么原因造成的呢?

原因就是,为了提交网站的运行速度,很多人都开了redis缓存插件,又在网站开启了cache插件,cache的缓存插件又很多,不过原理都是一样的。而问题也出在了这里,redis是把网站的数据库缓存到静态数据上了,这样用户访问网站的时候就会直接访问静态的数据,而不经过反复的寻找数据库文件,大大加快的访问速度,但是多个网站的缓存数据会被放到一起,区别就是表前缀不一样,而出问题的网站都采用了wp只带默认的表前缀,也就是wp_,这就为难了redis了,它无法区分两个网站的数据,也自然无法将它们分开,才造就了数据库串来串去的情况。

好在要出现这样的问题,需要同时满足3个状态

1.两个网站采用相同的PHP版本

2.都同时打开使用了redis

3.一样的表前缀

只要不同时满足此3点,就不会出现串库现象

如需要更改表前缀的方法,查看https://haoyym.com/94.html

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容