qishibo/AnotherRedisDesktopManager · error
Exists Error: ${e.message}
Error message
Exists Error: ${e.message} What it means
Catch handler around client.exists() in refreshContent; it surfaces any ioredis-level failure of the EXISTS command with an 'Exists Error:' prefix. Unlike a reply of 0 (missing key), this means the command itself failed - typically a broken connection, a server that went away, or an ACL denying the command.
Source
Thrown at src/components/KeyDetail.vue:103
// type not support, such as bf
this.$message.error(this.$t('message.key_type_not_support'));
return '';
},
refreshContent() {
this.client.exists(this.redisKey).then((reply) => {
if (reply == 0) {
// clear interval if auto refresh opened
// this.$refs.keyHeader.removeInterval();
return this.$message.error({
message: this.$t('message.key_not_exists'),
duration: 1000,
});
}
this.$refs.keyContent && this.$refs.keyContent.initShow();
}).catch((e) => {
this.$message.error(`Exists Error: ${e.message}`);
});
},
dumpCommand() {
this.$refs.keyContent && this.$refs.keyContent.dumpCommand();
},
},
};
</script>
<style type="text/css">
.key-tab-container {
/*padding-left: 5px;*/
}
.key-header-info {
margin-top: 6px;
}
.key-content-container {
margin-top: 12px;View on GitHub (pinned to c149855106)
Solutions
- Check the connection status and reconnect if needed, then refresh again
- Verify the server is reachable and authenticated by running EXISTS key in the CLI tab
- If ACL-managed, confirm the user has permission for the EXISTS command
Defensive patterns
Strategy: try-catch
Validate before calling
// only issue refresh commands on a healthy connection
if (client.status !== 'ready') {
await reconnect(client);
return;
}
const reply = await client.exists(key); Try / catch
// catch connection-level failures separately from normal flow
try {
const reply = await client.exists(redisKey);
if (reply === 0) handleMissingKey();
} catch (e) {
if (/Connection|Socket|ECONNRESET|ENOTFOUND/.test(e.message)) {
markConnectionLost(); // prompt reconnect instead of toasting repeatedly
} else {
showError(`Exists Error: ${e.message}`);
}
} Prevention
- Auto-refresh loops should pause when the connection status leaves 'ready'
- Reconnect once before reporting, to absorb server restarts and failovers
- Verify ACL users grant the commands your viewer issues (EXISTS included)
When it happens
Trigger: Connection dropped (server restart, network blip, idle timeout) exactly when refresh fires EXISTS; ACL user without read permission; ioredis status not 'ready' because auth is still failing.
Common situations: Laptop sleep/resume with the app open, Redis failover, server restarts during maintenance, restrictive ACL users on shared servers.
Related errors
- Sentinel & Cluster cannot be checked together!
- message || this.$t('message.test_connection_failed')
- this.$t('message.test_connection_timeout')
- err.message
- Expire Error: ${e.message}
AI-assisted analysis of qishibo/AnotherRedisDesktopManager@c149855106 (2026-08-22).
Data as JSON: /api/errors/5b789edb2f39a3d5.
Report an issue: GitHub.