Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 1x 1x 1x 1x 4x 4x 4x 4x 5x 5x 80x 80x 80x 2x 2x 5x | import { Database } from "../../data/database";
import { IRequest } from "../../../server/request";
import { IRespCommand } from "../resp-command";
import { Logger } from "../../../logger";
import { RedisToken } from "../../protocol/redis-token";
/**
* ### Available since 1.0.0.
* ### FLUSHALL
* Delete all the keys of all the existing databases, not just the currently selected one.
* This command never fails.
*
* The time-complexity for this operation is O(N), N being the number of keys in all existing
* databases.
*/
export class FlushAllCommand extends IRespCommand {
public maxParams = 0
public minParams = 0
public name = "flushall"
private logger: Logger = new Logger(module.id);
public execSync(request: IRequest, db: Database): RedisToken {
this.logger.debug(
`${request.getCommand()}.execute(%s)`,
...request.getParams()
);
for (let i = 0; i < 16; i++) {
const mydb = request.getServerContext().getDatabase(i);
this.logger.debug(`Selected database ${i}`);
for (const key of mydb.keys()) {
this.logger.debug(`Deleting key ${key} from database ${request.getSession().getCurrentDb()}`);
mydb.remove(key);
}
}
return RedisToken.responseOk();
}
}
|