diff --git a/src/pika_client_conn.cc b/src/pika_client_conn.cc index 5dc33caace..1919520c8c 100644 --- a/src/pika_client_conn.cc +++ b/src/pika_client_conn.cc @@ -273,13 +273,22 @@ void PikaClientConn::ProcessMonitor(const PikaCmdArgsType& argv) { } bool PikaClientConn::IsInterceptedByRTC(std::string& opt) { - // currently we only Intercept: Get, HGet - if (opt == kCmdNameGet && g_pika_conf->GetCacheString()) { + + static const std::unordered_set intercepted_string_cmds = { + kCmdNameGet, kCmdNameStrlen, kCmdNameTtl + }; + + static const std::unordered_set intercepted_hash_cmds = { + kCmdNameHGet, kCmdNameHMget, kCmdNameHExists, kCmdNameHVals, kCmdNameHStrlen + }; + + if (intercepted_string_cmds.count(opt) && g_pika_conf->GetCacheString()) { return true; } - if (opt == kCmdNameHGet && g_pika_conf->GetCacheHash()) { + if (intercepted_hash_cmds.count(opt) && g_pika_conf->GetCacheHash()) { return true; } + return false; }