> I do not want flushes to happen before tests on non-empty databases. I'd very much rather not have anyone's data accidentally nuked because they ran some tests.

As things stand now, it nukes your redis data, but first makes a test pending.  This is because in spec_helper, there's a `before(:each)` that checks and makes the current test pending if it has any data, and an `after(:each)` hook that nukes the data.  So the data is _always_ nuked after each test; it's just that if there was any data, you get one random pending test.

FWIW, for all the Moz projects I've been involved in that use redis except Qless, we've always adopted the "call flushdb before each test indiscriminately" policy and I've never heard of any one having any problems with that.

If you do want to prevent test data from being nuked, I'd recommend changing `spec_helper` so that it checks that in a `before(:suite)` hook, and, if it has any keys, raising a "Your redis DB has keys; please clear it out" error.  Then you don't have to re-check `redis.keys` in a hook before test and and can just flush the db instead.  This'll actually protect against it being nuked, unlike what we have now, and it will also probably perform better as we won't be calling `redis.keys` before each test.

Alternately bearing in mind that we're using `flushdb` (which flushes one DB, not all of redis), if you're concern is that you may have data from another redis server in their that you don't want to lose, we could stop having it default to the default redis port & db and instead require that you create `spec/redis.config.yml`, documenting that you should set this to a redis DB that won't ever contain important data because the Qless test suite will flush it out before each test.

Whatever we do, we should do something; what we have now creates annoyance without actually protecting you from anything.