希望有人可以对此有所了解。我不能为我的生活找到问题所在。
问题:
我正在尝试使用 hset 在一个文件中为Redis添加一个值,并使用 hget 在另一个文件中获取该值。在测试用例中最终发生的是该值已设置但 hget 返回null,就好像没有任何东西一样。
尝试:
当我在相同的文件中设置值后立即尝试获取值时,会发生非常奇怪的部分。它实际上正常工作!看看这个......
// FYI: This is co-mocha so the generator function is okay
describe('Route', () => {
it('should return the value currently set in Redis', function* () {
const link = 'this-is-a-link';
yield redis.hset('i:metadata', 'stream', link); // using ioredis
const response = yield request.send(); // requests to my Koa server
expect(response.body.stream).to.equal(link); // expected null to equal 'this-is-a-link'
});
});
你可以看到路线很简单......
// FYI: This is a Koa route reference with a HTTP GET on '/'
exports.get = function* () {
const stream = yield redis.hget('i:metadata', 'stream'); // using ioredis
this.body = { stream }; // holds a value of null
};
如果我在我的测试用例中的 hset 下面插入 hget ,则可以完美地检索到该值。有没有人对如何解决这个问题有任何想法?
注意:
在有人建议之前,我已经听过连接事件了,这不重要,因为我可以 hget hset 下方的值 。使用promisified node_redis 安装时,此问题也会持续存在。
谢谢!