示例#1
0
文件: hellotype.c 项目: Xwuming/misc
void *HelloTypeRdbLoad(RedisModuleIO *rdb, int encver) {
    if (encver != 0) {
        /* RedisModule_Log("warning","Can't load data with version %d", encver);*/
        return NULL;
    }
    uint64_t elements = RedisModule_LoadUnsigned(rdb);
    struct HelloTypeObject *hto = createHelloTypeObject();
    while(elements--) {
        int64_t ele = RedisModule_LoadSigned(rdb);
        HelloTypeInsert(hto,ele);
    }
    return hto;
}
示例#2
0
void *TagIndex_RdbLoad(RedisModuleIO *rdb, int encver) {
  unsigned long long elems = RedisModule_LoadUnsigned(rdb);
  TagIndex *idx = NewTagIndex();

  while (elems--) {
    size_t slen;
    char *s = RedisModule_LoadStringBuffer(rdb, &slen);
    InvertedIndex *inv = InvertedIndex_RdbLoad(rdb, INVERTED_INDEX_ENCVER);
    assert(inv != NULL);
    TrieMap_Add(idx->values, s, MIN(slen, MAX_TAG_LEN), inv, NULL);
    rm_free(s);
  }
  return idx;
}
示例#3
0
void *RaxType_RdbLoad(RedisModuleIO *rdb, int encver) {
    if (encver != 0) {
        return NULL;
    }
    
    // Determin how many elements are in the trie
    uint64_t elements = RedisModule_LoadUnsigned(rdb);
    rax *r = raxNew();
    
    while (elements--) {
        size_t len;
        char *key = RedisModule_LoadStringBuffer(rdb, &len);
        // TODO: Load value from RDB.
        raxInsert(r, (unsigned char *)key, len, NULL, NULL);
    }
    return r;
}
示例#4
0
文件: unique.c 项目: neverlee/unique
void *UniqueTypeRdbLoad(RedisModuleIO *rdb, int encver) {
    if (encver != 0) {
        /* RedisModule_Log("warning","Can't load data with version %d", encver);*/
        return NULL;
    }

    uint64_t elements = RedisModule_LoadUnsigned(rdb);
    
    unique *unique = uniqueCreate();
    char *pkey, *pval;
    size_t lkey, lval;
    sds key, val;
    while(elements--) {
        pkey = RedisModule_LoadStringBuffer(rdb, &lkey);
        pval = RedisModule_LoadStringBuffer(rdb, &lval);
        key = sdsnewlen(pkey, lkey);
        val = sdsnewlen(pval, lval);
        RedisModule_Free(pkey);
        RedisModule_Free(pval);
        uniquePush(unique, key, val, retain_new);
    }
    return unique;
}