Tag: redis

Bluebird可以在node.js中使用redis吗?

这里是我原来的代码来获取存储在redis中的用户php会话: var session_obj; var key = socket.request.headers.cookie.session session.get('PHPREDIS_SESSION:'+key,function(err,data){ if( err ) { return console.error(err); } if ( !data === false) { session_obj = PHPUnserialize.unserializeSession(data); } /* … other functions … */ }) 我想用Promise重写代码,但是我不能得到返回的data : Promise.resolve(session.get('PHPREDIS_SESSION:'+key)).then(function(data){ return data; }).then(function(session){ console.log(session); // this returns true, but not the session data session_obj = PHPUnserialize.unserializeSession(session); }).catch(function(err){ console.log(err); }) session返回布尔值true而不是会话数据。 […]

使用Redis在Laravel 5.1中广播事件错误

我已经开始使用Laravel 5.1,它非常棒,只是想通过使用NodeJs作为服务器和Redis作为驱动程序来遵循这个指南来实现新的“Broadcasting Event”function: http://blog.nedex。 io / laravel-5-1-broadcasting-events-using-redis-driver-socket-io / 。 当我触发实现ShouldBroadcast接口的事件时,我收到一个错误:“从服务器读取行时出错[tcp://127.0.0.1:4365]” 4365 – 服务器正在运行的端口(侦听该端口)。 你有什么想法为什么会发生? 我也试着直接使用Redis: $redis = Redis::connection(); $redis->publish('test-channel', 'msg'); 得到相同的结果,“从服务器读取行时出错[tcp://127.0.0.1:4365]”。 socket.js: var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); var Redis = require('ioredis'); var redis = new Redis(); redis.subscribe('test-channel', function(err, count) { }); redis.on('message', function(channel, message) { console.log('Message Recieved: ' […]

Redis:通过电子邮件删除用户令牌(按值查找Key)

我已经跟随教程了解如何使用本教程创build基于令牌的身份validation与节点http://www.kdelemme.com/2014/08/16/token-based-authentication-with-nodejs-redis/ 我得到了这一切,但我得到了一个问题。 我存储令牌的方式是: KEY = TOKEN VALUE = UserData(用户名,电子邮件等) 为了保护多个设备login,我想使现有的令牌无效,并生成新的令牌。 在login期间,我想检查用户的令牌是否已经存在。 但是,我需要find价值的关键。 (我需要通过电子邮件findTOKEN)。 但是当我查看Redis文档时,我找不到任何关于按价值查找Key的行。 非常感谢你 :)

如何做Redis树并优化它+ Node.js

我需要caching将由几个node.js工作人员使用的数据。 下面是这个数据的层次结构,它是三层深的: 每个类别都有相同的子类别,并且都是固定的大小。 每个“数据”包含4个字段,其中一个是唯一的ID。 会有相当多的“数据”插入和删除。 在Redis中实现这样的数据库的最好方法是什么? 哈希集cat + subcat,因为我有他们的固定数量,哈希集还为每个字段具有该唯一ID的数据becouse? 谢谢!

Redis从集合中获取密钥,然后获取多个数据

我知道我可以为此编写一个lua脚本,但是我想知道是否可以使用多行或stream水线来完成。 我有一个包含哈希键的集合,我想在集合上执行HGETALL ,然后使用这些结果对每个键执行HGETALL并返回聚合。 我在节点中使用ioredis。 编辑: 包括一个基于Itamar评论使用ioredis的例子: redis.smembers('users', function(err, res) { var pipeline = redis.pipeline(); res.forEach(function(key) { pipeline.hgetall(key); }); pipeline.exec(function(err, res) { var results = res.map(function(item) { return item[1]; }); console.log(results) }); });

你如何在Redis中join一个有散列的有序集?

在Redis中,假设我有一组有序的ID(以时间戳记分): (name of ordered set) someobject:media Member | Score 1 1442784376400 2 1442784376420 3 1442784376450 每个成员都是一个哈希的ID(像这样): media:1 { 'name': 'something', 'timestamp': '1442784376400 } media:2 { 'name': 'somethingelse', 'timestamp': '1442784376420' } // and so forth 是否有一个primefaces操作,可以让我得到一些对象的成员的所有哈希someobject:media ? 我使用Node Redis ,理论上它提供了redis-cli提供的所有操作(正如人们所期望的那样)。 到目前为止,我唯一的想法是循环一切,就像这样: client.zrevrange(['someobject:media', 0, -1], (err, res) => { let promises = res.map(mediaId => { return new […]

有效的方法redis设置成员更新

我有一个redis集。 这个集最多可以存储20个成员(添加了SADD命令)。 我的问题是 我需要在需要时更新这些成员。 会员需要修改最多10次,每个成员。 设置成员是json作为一个string。 我脑海里只有独立,也没有让所有成员更新,重新创build。 但似乎是iditoic。 我知道有ZADDsorting设置与它的分数支持它似乎也适合我也需要更新像JSON数据的分数,但我只是想知道是否有任何方法更新成员以有效的方式,或更新成员不可接受的Redis方式? 注意:Redis数据存储由node.js和java客户端使用。

使用ioredis为redis数据库增加id并将其分配给string

我在使用redis的博客上工作,并陷入了api级别。 我正在尝试做以下事情: MULTI INCR id SET post:{id} json_value //Stucked here SADD posts {id} EXEC 那么如何获得SET文章的ID:{id}? 我现在有下面的代码,这是不行的。 // Create post function cpost(json) { client.pipeline() .incr('id')) .set('post:' + client.get('id:post', function (err, results) { return results; }), json) .sadd('posts, client.get('id:post', function (err, results) { return results; })) // posts post .exec(function (err, results) { }); } 使用ioredis 任何想法如何获得身份证的价值?

如何在node.js中使用express来实现android应用程序中的服务器端会话?

你好我正在做一个Android应用程序,我有多个帐户login一次现在我的问题是,我为多个login我应该使用会话来validationlogin每个帐户用户。现在我在服务器端快速使用我已经阅读了很多有关在node.js中存储会话的文档 快速会话(虽然它只适用于开发,但不适用于生产,但不适用于我的应用程序) Cookie的会话 连接-的Redis 连接 – 蒙戈 我也听说过json的networking令牌,我可以生成唯一的令牌,然后我可以将令牌传递给客户端使用res.json({user_id:“user1”,令牌:“generated_token这里”))我也听说过护照但不知道如何做到这一点, 因为在护照我默认使用快递会话会不会有利于生产? 现在我的第一个问题是我已经阅读了所有的文档,并没有提到它在哪里我正在为每个正在注册的用户创build独特的令牌。 第二个问题,因为我正在使用我的服务器的Android应用程序将不会使用Cookie我将发送用户令牌参数req.body.token现在如何与当前user_id cmpare这个。 其实我没有得到控制的stream量,我的意思是如何在node.js会话中的一切事情。 此外,这个秘密是什么产生独特的令牌或什么。 另外我的意思是大约100000的用户现在注册我的应用程序,请告诉我相应的我应该使用哪种方式。 以前我问过这个问题,但是在那里我没有提到,因为我不是在做一个网站如何做到这一点(在我的情况下,将不会使用代币) 我知道我问的这个问题是非常含糊的,但请耐心与我,我只是想了解如何在node.js中使用会话 谢谢Anways

重新启动服务器后,Redis数据丢失

我已经configurationRedis使用RDB持久性方法来保存数据,如果单次写入( save 1 1 ),但仍然重新启动后,我看到键值为零。