可以安全清空所有cache_ *吗?


14

有时在移动数据库时,它可能太大。是否可以清空任何“ cache_”前缀表而不会引起问题?


2
通过截断这些表,到目前为止,我还没有遇到任何问题。
2012年

Answers:


14

除了一个例外,是的。那个例外是cache_form。那实际上不是高速缓存表,但包含站点上当前显示的表单的$ form_state临时信息。清除该表将使这些表单无效,并且当用户随后尝试提交该表单时,他将收到一条错误消息,并且必须再次填写该表单。

需要注意的是drush sql-dump备份和迁移创造这些替代的mysqldump或phpmyadmin的数据库转储时自动离开了这些和其他表的内容。


drush sql-dump实际上包含“ cache_form”表。
cjoy 2012年

@remote:我并不是要暗示其他意思(尽管我不知道它明确保留了cache_form)。如果您认为我的答案有误导性,请随时进行编辑(或建议进行编辑)。
Berdir

4

该列表中有一个“假朋友”。cache_form不是高速缓存表,将其清空将使该站点上当时处于活动状态的所有表单无效。

我也没有看到为什么要为此使用phpmyadmin的原因。它笨重且容易出错。“ drush cc all”是您的朋友:)


3

缓存表的目的是保持计算值。当模块调用cache_get(),并且获取一个空值时,它仅执行代码即可获取缓存的值。
我知道的所有模块都会自动执行代码,以获取它们在缓存中期望的值(如果缓存为空);清空缓存不会对使用它的模块造成任何问题。


3

我已经做过很多次了,但没有发现任何问题。

重要提示-尝试一次清除所有缓存表。这将防止Drupal使用无效的缓存数据。


这些表格中有非常重要的数据,您确定120%吗?;)
Mohammad Ali Akbari 2012年

是的,但是对于您非常重要的数据,请先进行备份。:)
j2r 2012年

2
@MohammadAliAkbari如果您有重要数据,那么它实际上应该存储在其他地方以及缓存表中……
Chapabu 2012年

@ j2r,我也是,我做了几次。没问题。+1
Sithu

@Chapabu我的意思是网站很重要,我自己没有存储任何重要数据
Mohammad Ali Akbari
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.