Skip to content

Commit 1685e3e

Browse files
committed
rollback some flag,but add kCmdReadBeforeQueuefor get mget hget hget hgetall,hmget
1 parent 06e739d commit 1685e3e

File tree

3 files changed

+22
-23
lines changed

3 files changed

+22
-23
lines changed

include/pika_command.h

+2-3
Original file line numberDiff line numberDiff line change
@@ -290,8 +290,7 @@ enum CmdFlags {
290290
kCmdFlagsStream = (1 << 20),
291291
kCmdFlagsFast = (1 << 21),
292292
kCmdFlagsSlow = (1 << 22),
293-
kCmdTransaction = (1 << 23),
294-
kCmdNoReadBeforeQueue = (1 << 24),
293+
kCmdReadBeforeQueue = (1 << 23),
295294
};
296295

297296
void inline RedisAppendContent(std::string& str, const std::string& value);
@@ -538,7 +537,7 @@ class Cmd : public std::enable_shared_from_this<Cmd> {
538537
bool hasFlag(uint32_t flag) const;
539538
bool is_read() const;
540539
bool is_write() const;
541-
bool is_cacheread() const;
540+
bool isCacheRead() const;
542541

543542
bool IsLocal() const;
544543
bool IsSuspend() const;

src/pika_client_conn.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ void PikaClientConn::ProcessRedisCmds(const std::vector<net::RedisCmdArgsType>&
277277
std::shared_ptr<Cmd> c_ptr = g_pika_cmd_table_manager->GetCmd(opt);
278278

279279
if (PIKA_CACHE_NONE != g_pika_conf->cache_mode()){
280-
if ( c_ptr && c_ptr->is_cacheread() ){
280+
if ( c_ptr && c_ptr->isCacheRead() ){
281281
// read in cache
282282
if (BatchReadCmdInCache(argvs)){
283283
return;

src/pika_command.cc

+19-19
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ void InitCmdTable(CmdTable* cmd_table) {
243243
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameSet, std::move(setptr)));
244244
////GetCmd
245245
std::unique_ptr<Cmd> getptr =
246-
std::make_unique<GetCmd>(kCmdNameGet, 2, kCmdFlagsRead | kCmdFlagsKv | kCmdFlagsDoThroughDB | kCmdFlagsUpdateCache | kCmdFlagsReadCache | kCmdFlagsSlow);
246+
std::make_unique<GetCmd>(kCmdNameGet, 2, kCmdFlagsRead | kCmdFlagsKv | kCmdFlagsDoThroughDB | kCmdFlagsUpdateCache | kCmdFlagsReadCache | kCmdReadBeforeQueue | kCmdFlagsSlow);
247247
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameGet, std::move(getptr)));
248248
////DelCmd
249249
std::unique_ptr<Cmd> delptr =
@@ -282,7 +282,7 @@ void InitCmdTable(CmdTable* cmd_table) {
282282
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameAppend, std::move(appendptr)));
283283
////MgetCmd
284284
std::unique_ptr<Cmd> mgetptr =
285-
std::make_unique<MgetCmd>(kCmdNameMget, -2, kCmdFlagsRead | kCmdFlagsKv | kCmdFlagsDoThroughDB | kCmdFlagsUpdateCache | kCmdFlagsReadCache | kCmdFlagsFast);
285+
std::make_unique<MgetCmd>(kCmdNameMget, -2, kCmdFlagsRead | kCmdFlagsKv | kCmdFlagsDoThroughDB | kCmdFlagsUpdateCache | kCmdFlagsReadCache | kCmdReadBeforeQueue | kCmdFlagsFast);
286286
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameMget, std::move(mgetptr)));
287287
////KeysCmd
288288
std::unique_ptr<Cmd> keysptr =
@@ -392,15 +392,15 @@ void InitCmdTable(CmdTable* cmd_table) {
392392
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameHSet, std::move(hsetptr)));
393393
////HGetCmd
394394
std::unique_ptr<Cmd> hgetptr =
395-
std::make_unique<HGetCmd>(kCmdNameHGet, 3, kCmdFlagsRead | kCmdFlagsHash | kCmdFlagsUpdateCache | kCmdFlagsDoThroughDB | kCmdFlagsReadCache | kCmdFlagsFast);
395+
std::make_unique<HGetCmd>(kCmdNameHGet, 3, kCmdFlagsRead | kCmdFlagsHash | kCmdFlagsUpdateCache | kCmdFlagsDoThroughDB | kCmdFlagsReadCache | kCmdReadBeforeQueue |kCmdFlagsFast);
396396
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameHGet, std::move(hgetptr)));
397397
////HGetallCmd
398398
std::unique_ptr<Cmd> hgetallptr =
399-
std::make_unique<HGetallCmd>(kCmdNameHGetall, 2, kCmdFlagsRead | kCmdFlagsHash | kCmdFlagsSlow | kCmdFlagsUpdateCache | kCmdFlagsDoThroughDB | kCmdFlagsReadCache);
399+
std::make_unique<HGetallCmd>(kCmdNameHGetall, 2, kCmdFlagsRead | kCmdFlagsHash | kCmdFlagsSlow | kCmdFlagsUpdateCache | kCmdFlagsDoThroughDB | kCmdFlagsReadCache | kCmdReadBeforeQueue );
400400
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameHGetall, std::move(hgetallptr)));
401401
////HExistsCmd
402402
std::unique_ptr<Cmd> hexistsptr =
403-
std::make_unique<HExistsCmd>(kCmdNameHExists, 3, kCmdFlagsRead | kCmdFlagsHash | kCmdFlagsUpdateCache | kCmdFlagsDoThroughDB | kCmdFlagsReadCache | kCmdFlagsFast);
403+
std::make_unique<HExistsCmd>(kCmdNameHExists, 3, kCmdFlagsRead | kCmdFlagsHash | kCmdFlagsUpdateCache | kCmdFlagsDoThroughDB | kCmdFlagsReadCache | kCmdFlagsFast );
404404
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameHExists, std::move(hexistsptr)));
405405
////HIncrbyCmd
406406
std::unique_ptr<Cmd> hincrbyptr =
@@ -420,7 +420,7 @@ void InitCmdTable(CmdTable* cmd_table) {
420420
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameHLen, std::move(hlenptr)));
421421
////HMgetCmd
422422
std::unique_ptr<Cmd> hmgetptr =
423-
std::make_unique<HMgetCmd>(kCmdNameHMget, -3, kCmdFlagsRead | kCmdFlagsHash | kCmdFlagsUpdateCache | kCmdFlagsDoThroughDB | kCmdFlagsReadCache | kCmdFlagsFast);
423+
std::make_unique<HMgetCmd>(kCmdNameHMget, -3, kCmdFlagsRead | kCmdFlagsHash | kCmdFlagsUpdateCache | kCmdFlagsDoThroughDB | kCmdFlagsReadCache | kCmdReadBeforeQueue |kCmdFlagsFast);
424424
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameHMget, std::move(hmgetptr)));
425425
////HMsetCmd
426426
std::unique_ptr<Cmd> hmsetptr =
@@ -736,50 +736,50 @@ void InitCmdTable(CmdTable* cmd_table) {
736736
// PubSub
737737
////Publish
738738
std::unique_ptr<Cmd> publishptr =
739-
std::make_unique<PublishCmd>(kCmdNamePublish, 3, kCmdFlagsRead | kCmdFlagsPubSub | kCmdFlagsFast | kCmdNoReadBeforeQueue);
739+
std::make_unique<PublishCmd>(kCmdNamePublish, 3, kCmdFlagsRead | kCmdFlagsPubSub | kCmdFlagsFast );
740740
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNamePublish, std::move(publishptr)));
741741
////Subscribe
742742
std::unique_ptr<Cmd> subscribeptr =
743-
std::make_unique<SubscribeCmd>(kCmdNameSubscribe, -2, kCmdFlagsRead | kCmdFlagsPubSub | kCmdFlagsSlow | kCmdNoReadBeforeQueue);
743+
std::make_unique<SubscribeCmd>(kCmdNameSubscribe, -2, kCmdFlagsRead | kCmdFlagsPubSub | kCmdFlagsSlow );
744744
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameSubscribe, std::move(subscribeptr)));
745745
////UnSubscribe
746746
std::unique_ptr<Cmd> unsubscribeptr =
747-
std::make_unique<UnSubscribeCmd>(kCmdNameUnSubscribe, -1, kCmdFlagsRead | kCmdFlagsPubSub | kCmdFlagsSlow | kCmdNoReadBeforeQueue);
747+
std::make_unique<UnSubscribeCmd>(kCmdNameUnSubscribe, -1, kCmdFlagsRead | kCmdFlagsPubSub | kCmdFlagsSlow );
748748
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameUnSubscribe, std::move(unsubscribeptr)));
749749
////PSubscribe
750750
std::unique_ptr<Cmd> psubscribeptr =
751-
std::make_unique<PSubscribeCmd>(kCmdNamePSubscribe, -2, kCmdFlagsRead | kCmdFlagsPubSub | kCmdFlagsSlow | kCmdNoReadBeforeQueue);
751+
std::make_unique<PSubscribeCmd>(kCmdNamePSubscribe, -2, kCmdFlagsRead | kCmdFlagsPubSub | kCmdFlagsSlow );
752752
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNamePSubscribe, std::move(psubscribeptr)));
753753
////PUnSubscribe
754754
std::unique_ptr<Cmd> punsubscribeptr =
755-
std::make_unique<PUnSubscribeCmd>(kCmdNamePUnSubscribe, -1, kCmdFlagsRead | kCmdFlagsPubSub | kCmdFlagsSlow | kCmdNoReadBeforeQueue);
755+
std::make_unique<PUnSubscribeCmd>(kCmdNamePUnSubscribe, -1, kCmdFlagsRead | kCmdFlagsPubSub | kCmdFlagsSlow );
756756
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNamePUnSubscribe, std::move(punsubscribeptr)));
757757
////PubSub
758758
std::unique_ptr<Cmd> pubsubptr =
759-
std::make_unique<PubSubCmd>(kCmdNamePubSub, -2, kCmdFlagsRead | kCmdFlagsPubSub | kCmdFlagsSlow | kCmdNoReadBeforeQueue);
759+
std::make_unique<PubSubCmd>(kCmdNamePubSub, -2, kCmdFlagsRead | kCmdFlagsPubSub | kCmdFlagsSlow );
760760
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNamePubSub, std::move(pubsubptr)));
761761

762762
////ACL
763-
std::unique_ptr<Cmd> aclptr = std::make_unique<PikaAclCmd>(KCmdNameAcl, -2, kCmdFlagsAdmin | kCmdFlagsSlow | kCmdNoReadBeforeQueue);
763+
std::unique_ptr<Cmd> aclptr = std::make_unique<PikaAclCmd>(KCmdNameAcl, -2, kCmdFlagsAdmin | kCmdFlagsSlow );
764764
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(KCmdNameAcl, std::move(aclptr)));
765765

766766
// Transaction
767767
////Multi
768768
std::unique_ptr<Cmd> multiptr =
769-
std::make_unique<MultiCmd>(kCmdNameMulti, 1, kCmdFlagsRead | kCmdFlagsFast | kCmdTransaction);
769+
std::make_unique<MultiCmd>(kCmdNameMulti, 1, kCmdFlagsRead | kCmdFlagsFast );
770770
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameMulti, std::move(multiptr)));
771771
////Exec
772772
std::unique_ptr<Cmd> execptr = std::make_unique<ExecCmd>(
773-
kCmdNameExec, 1, kCmdFlagsRead | kCmdFlagsWrite | kCmdFlagsSuspend | kCmdFlagsSlow | kCmdTransaction);
773+
kCmdNameExec, 1, kCmdFlagsRead | kCmdFlagsWrite | kCmdFlagsSuspend | kCmdFlagsSlow );
774774
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameExec, std::move(execptr)));
775775
////Discard
776-
std::unique_ptr<Cmd> discardptr = std::make_unique<DiscardCmd>(kCmdNameDiscard, 1, kCmdFlagsRead | kCmdFlagsFast | kCmdTransaction);
776+
std::unique_ptr<Cmd> discardptr = std::make_unique<DiscardCmd>(kCmdNameDiscard, 1, kCmdFlagsRead | kCmdFlagsFast );
777777
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameDiscard, std::move(discardptr)));
778778
////Watch
779-
std::unique_ptr<Cmd> watchptr = std::make_unique<WatchCmd>(kCmdNameWatch, -2, kCmdFlagsRead | kCmdFlagsFast | kCmdTransaction);
779+
std::unique_ptr<Cmd> watchptr = std::make_unique<WatchCmd>(kCmdNameWatch, -2, kCmdFlagsRead | kCmdFlagsFast );
780780
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameWatch, std::move(watchptr)));
781781
////Unwatch
782-
std::unique_ptr<Cmd> unwatchptr = std::make_unique<UnwatchCmd>(kCmdNameUnWatch, 1, kCmdFlagsRead | kCmdFlagsFast | kCmdTransaction);
782+
std::unique_ptr<Cmd> unwatchptr = std::make_unique<UnwatchCmd>(kCmdNameUnWatch, 1, kCmdFlagsRead | kCmdFlagsFast );
783783
cmd_table->insert(std::pair<std::string, std::unique_ptr<Cmd>>(kCmdNameUnWatch, std::move(unwatchptr)));
784784

785785
// Stream
@@ -966,7 +966,7 @@ void Cmd::DoBinlog() {
966966
bool Cmd::hasFlag(uint32_t flag) const { return (flag_ & flag); }
967967
bool Cmd::is_read() const { return (flag_ & kCmdFlagsRead); }
968968
bool Cmd::is_write() const { return (flag_ & kCmdFlagsWrite); }
969-
bool Cmd::is_cacheread() const { return (flag_ & kCmdFlagsRead) && !(flag_ & kCmdFlagsAdmin) && !(flag_ & kCmdFlagsOperateKey) && !(flag_ & kCmdTransaction) && !(flag_ & kCmdNoReadBeforeQueue);}
969+
bool Cmd::isCacheRead() const { return (flag_ & kCmdReadBeforeQueue);}
970970
bool Cmd::IsLocal() const { return (flag_ & kCmdFlagsLocal); }
971971

972972
int8_t Cmd::SubCmdIndex(const std::string& cmdName) {

0 commit comments

Comments
 (0)