从文档中看,flushall的工作方式似乎如此,但实际上,它不是那样工作的。当我使用命令flushall
时,它仅从cli分配到的数据库实例中刷新键。
删除所有现有数据库的所有键,而不仅仅是当前选择的一个。此命令永远不会失败。
此操作的时间复杂度为O(N),N为所有现有数据库中键的数量。
例如,如果我的集群redis-cli已启动并且我搜索了一个密钥,并且节点cli从7000更改为7002,对应于哈希位于的密钥,即服务器7002,然后刷新了所有内容,它将删除该服务器的密钥。
但是,其他键仍然保留。
有没有一种方法可以冲洗掉所有主控和从属中的所有密钥?
答案 0 :(得分:4)
是的。您可以将cli的library(recipes)
#> Loading required package: dplyr
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
#>
#> Attaching package: 'recipes'
#> The following object is masked from 'package:stats':
#>
#> step
data(okc)
# No relevel
recipe(age ~ diet, data = na.omit(okc)) %>%
step_other(diet, threshold = 0.01, other = "infrequent value") %>%
step_dummy(diet) %>%
prep() %>%
juice() %>%
names() %>%
.[grepl("infrequent", x = .)]
#> [1] "diet_infrequent.value"
# With relevel after pooling
recipe(age ~ diet, data = na.omit(okc)) %>%
step_other(diet, threshold = 0.01, other = "infrequent value") %>%
step_mutate(diet = relevel(diet, ref = "infrequent value")) %>%
step_dummy(diet) %>%
prep() %>%
juice() %>%
names() %>%
.[grepl("infrequent", x = .)]
#> character(0)
# With relevel and no pooling returns error
recipe(age ~ diet, data = na.omit(okc)) %>%
step_other(diet, threshold = 0.0001, other = "infrequent value") %>%
step_mutate(diet = relevel(diet, ref = "infrequent value")) %>%
step_dummy(diet) %>%
prep() %>%
juice() %>%
names() %>%
.[grepl("infrequent", x = .)]
#> Error in relevel.factor(diet, ref = "infrequent value"): 'ref' must be an existing level
开关与--cluster
命令一起使用-它会在集群的每个主节点上执行提供的命令(并且由于call
是写命令,因此将复制到他们各自的奴隶。)
这应该做到:
FLUSHALL