Git Product home page Git Product logo

Comments (13)

rchunping avatar rchunping commented on June 23, 2024

呵呵,我也遇到过,gcc 4.1.x版本的吧

src/Makefile 里面
找到下面的地方,加上 -ldl -lstdc++ -lm

ifeq ($(MALLOC),tcmalloc_minimal)
FINAL_CFLAGS+= -DUSE_TCMALLOC
FINAL_LIBS+= ../deps/gperftools-2.0/.libs/libtcmalloc_minimal.a -ldl -lstdc++ -lm
endif

from redis-storage.

miketang84 avatar miketang84 commented on June 23, 2024

OK,好了,谢谢啊!可以试着用啦。

PS:什么时候,zset的ds指令能加上呢?

from redis-storage.

rchunping avatar rchunping commented on June 23, 2024

你试试看ds_exists命令正不正常,我这边老版的leveldb+ds_exists不太正常,需要修改代码

ds_set m 1
ds_exists a <-- 这里如果输出1说明有问题

from redis-storage.

miketang84 avatar miketang84 commented on June 23, 2024

我现在进不了,一进就崩溃退出。

2013/1/19 rchunping [email protected]

你试试看ds_exists命令正不正常,我这边老版的leveldb+ds_exists不太正常,需要修改代码

ds_set m 1
ds_exists a <-- 这里如果输出1说明有问题


Reply to this email directly or view it on GitHubhttps://github.com//issues/18#issuecomment-12452190.

Nothing is impossible.

from redis-storage.

rchunping avatar rchunping commented on June 23, 2024

是不是没指定配置文件?

from redis-storage.

miketang84 avatar miketang84 commented on June 23, 2024

晕,确实没指定。跟redis默认不一样啊。现在启起来了。

2013/1/19 Tang Daogang [email protected]

我现在进不了,一进就崩溃退出。

2013/1/19 rchunping [email protected]

你试试看ds_exists命令正不正常,我这边老版的leveldb+ds_exists不太正常,需要修改代码

ds_set m 1
ds_exists a <-- 这里如果输出1说明有问题


Reply to this email directly or view it on GitHubhttps://github.com//issues/18#issuecomment-12452190.

Nothing is impossible.

Nothing is impossible.

from redis-storage.

miketang84 avatar miketang84 commented on June 23, 2024

xen@T410s:~/Packages/redis-storage/redis-storage-master/src$ ./redis-cli
redis 127.0.0.1:6379> ds_set m 1
OK
redis 127.0.0.1:6379> ds_exists a

  1. (integer) 1
    redis 127.0.0.1:6379>

是正常还是不正常?

from redis-storage.

rchunping avatar rchunping commented on June 23, 2024

呵呵,明显不正常啊,你只存了m,没有存a,应该返回1)(integer)0才对。 新版还有一些问题,没有经过广泛严格的测试,应该建议七夜他们做几个稳定版分支。

你把 src/ds.c中 void ds_exists(redisClient *c) 函数

void ds_exists(redisClient *c)
{
int                   i;
char                  *err;
leveldb_iterator_t    *iter;

iter     = leveldb_create_iterator(server.ds_db, server.roptions);
addReplyMultiBulkLen(c, c->argc-1);
for(i=1; i<c->argc; i++)
{
    leveldb_iter_seek(iter, c->argv[i]->ptr, sdslen((sds)c->argv[i]->ptr));
    if(leveldb_iter_valid(iter))
        addReplyLongLong(c, 1);
    else
        addReplyLongLong(c, 0);
}

err = NULL;
leveldb_iter_get_error(iter, &err);
leveldb_iter_destroy(iter);

if(err != NULL)
{
    addReplyError(c, err);
    leveldb_free(err);

    return ;
}

return ;
}

改成

void ds_exists(redisClient *c)
{
int                   i;
char                  *err;
leveldb_iterator_t    *iter;
 char *kp;size_t kl;

iter     = leveldb_create_iterator(server.ds_db, server.roptions);
addReplyMultiBulkLen(c, c->argc-1);
for(i=1; i<c->argc; i++)
{
    leveldb_iter_seek(iter, c->argv[i]->ptr, sdslen((sds)c->argv[i]->ptr));

    if(leveldb_iter_valid(iter)){
    kp = leveldb_iter_key(iter,&kl);
    if( sdslen((sds)c->argv[i]->ptr) == kl && 0 == memcmp(c->argv[i]->ptr,kp,kl))
      addReplyLongLong(c,1);
    else
      addReplyLongLong(c,0);
  }else
    addReplyLongLong(c, 0);

}

err = NULL;
leveldb_iter_get_error(iter, &err);
leveldb_iter_destroy(iter);

if(err != NULL)
{
    addReplyError(c, err);
    leveldb_free(err);

    return ;
}

return ;
}

重新编译 ds_exists应该就正常了。

ds_hexists应该也有同样bug,我用不到这些功能所以就没改

from redis-storage.

miketang84 avatar miketang84 commented on June 23, 2024

好的。看来不敢用了。

我其实最急切的是要用到 redis 中换成 luajit 的功能。所以,结合本项目,还有 https://github.com/neomantra/redis

我整了个基于 redis 2.6的项目分支。需要的可以参考下。
https://github.com/daogangtang/redis_luajit2.6

我整这个,主要也是想给 https://github.com/daogangtang/bamboo 这个项目使用。这两个项目之间,会传送 字节码,所以,需要双方的lua引擎保持一致。

from redis-storage.

qiye avatar qiye commented on June 23, 2024

haha.就是一些小bug. 可以很快改好的。

from redis-storage.

qiye avatar qiye commented on June 23, 2024

下载最新代码。问题已经解决

from redis-storage.

miketang84 avatar miketang84 commented on June 23, 2024

好。redis的冷数据问题的解决方案就看七夜这个咯~~~

我很看好你哦。不过,我还需要支持 zset 的那些指令。七夜看能否抽点时间写下~~~~

On Tue, Jan 29, 2013 at 10:45 AM, qiye [email protected] wrote:

下载最新代码。问题已经解决


Reply to this email directly or view it on GitHubhttps://github.com//issues/18#issuecomment-12817929.

Nothing is impossible.

from redis-storage.

qiye avatar qiye commented on June 23, 2024

好的,没问题。这几天工作忙了一点。这几星期。我写一下zset的功能。谢谢大家的帮助

from redis-storage.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.