void publishCommand(client *c) { int receivers = pubsubPublishMessage(c->argv[1],c->argv[2]); if (server.cluster_enabled) clusterPropagatePublish(c->argv[1],c->argv[2]); else forceCommandPropagation(c,PROPAGATE_REPL); addReplyLongLong(c,receivers); }
void do_bridge_notify(void *pdb,void *pkeyobj) { redisDb *db=(redisDb *)pdb; robj *keyobj=(robj *)pkeyobj; if(server.bridge_db.bridge_event[db->id]==BRIDGE_KEY_NOTIFY) //do notify event { sds key = sdsnew(BRIDGE_SYSTEM_CHANNEL); robj *bridge_channel = createStringObject(key,sdslen(key)); int receivers = pubsubPublishMessage(bridge_channel,keyobj); if (server.cluster_enabled) clusterPropagatePublish(bridge_channel,keyobj); redisLog(REDIS_NOTICE,"%d clients receive the expire event",receivers); decrRefCount(bridge_channel); } }
void publishCommand(redisClient *c) { int receivers = pubsubPublishMessage(c->argv[1],c->argv[2]); if (server.cluster_enabled) clusterPropagatePublish(c->argv[1],c->argv[2]); addReplyLongLong(c,receivers); }