Tag: redis

如何从客户端发送数据到redis,然后到laravel

我正在使用laravel和redis进行实时聊天。 我可以从我的laravel发起事件,并将这些数据接收到客户端。 我的问题是我怎么能从客户端发送的东西,然后接收到它redis并将其传递给laravel 例如,我如何检查用户是否已经阅读聊天消息。 代码: var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = require( 'socket.io' ).listen( server ); var redis = require('redis'); var port = process.env.PORT || 8888; server.listen(port,'xxxx'); io.on('connection', function (socket) { console.log("Connected"); }); var redisClient = redis.createClient(); redisClient.psubscribe(['get_message','read_message']); redisClient.on("pmessage", function(channel, pattern, message) { console.log(channel); // i […]

Node.js Redis连接池

在Redis中使用node_redis Node.js模块时,我应该只使用一个连接,因为Redis是单线程进程,还是应该创build一个连接池来提高性能?

NodeJs – 使用redis,connect-redis与express

注意对于那些与Redis斗争的人,必须启动Redis服务器。 在Windows上,有一个redis发行版,请查看以下链接: https : //github.com/dmajkic/redis/downloads然后通过启动“redis-server.exe”来启动服务器。 我沿着node.js上的一个教程。 本教程使用Express和Redis。 我安装了redis和connect-redis(它们在package.json中被引用): npm install redis connect-redis –save 在我的server.js(只有有意义的部分): var express = require('express'); var http = require('http'); var app = module.exports = express(); var RedisStore = require('connect-redis')(express); var redis = require("redis").createClient(); app.configure(function(){ app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); console.log('views', __dirname + '/views'); app.set('view engine', 'jade'); //jade as template […]

如何在redis中存储散列数组

我想在redis中存储哈希数组,编写代码的最好方法是什么?

Redis子/ pub和php / nodejs

开始使用redis作为子/ pub系统来显示mysql数据库结果的新项目。 所以如果有更新,我想从mysql发布这些更新到我的网页。 我的问题是,哪个选项会更好? 选项1:我应该通过nodejs和socket.io来做所有的事吗? 这意味着创build一个连接到redis的nodejs脚本,订阅我需要监听的通道,在nodejs中使用mysql查询db的更新,如果更新发布mysql行,然后在通过socket.io连接到nodejs的html中获取新的数据和它的过程来显示结果? 选项2:有一个PHP脚本查询MySQL和Redis的PHP客户端发布的任何更新通道? 不知道还有什么需要从这里设置。 我仍然需要在这个选项中包含nodejs? 或者我只是基于这一切如何工作? 底线是我想通过mysql数据库显示结果给用户使用redis sub / pubfunction。

Node Redis – SET与EX和NX?

Redisbuild议使用带有可选参数的SET作为locking机制。 也就是说,“SETlocking1 EX 10 NX”只有在locking不存在时才会设置locking,locking将在10秒后过期。 我使用Node Redis,它有一个set()方法,但是我不知道如何传递额外的参数来使键过期,如果它已经存在,或者甚至是可能的,都不会被创build。 也许我必须使用setnx()和expire()作为单独的调用?

Nodejs + Passport.js + Redis:如何在Redis中存储会话

我读过这个主题Node.js + express.js + passport.js:保持身份validation之间的服务器重新启动 ,我需要完全相同的事情,但对于Redis。 我用这样的代码: var RedisStore = require('connect-redis')(express); app.use(express.session({ secret: "my secret", store: new RedisStore, cookie: { secure: true, maxAge:86400000 } })); 它不起作用。 要连接Redis,我使用connect-redis模块。 我做错了什么? 谢谢! UPD :我没有得到任何错误。 为了确保auth进程成功,我添加了日志行,并执行。 function(email, password, done) { // asynchronous verification, for effect… process.nextTick(function() { findByEmail(email, function(err, user) { if (!user) { return done(null, false, { message: […]

Laravel与Redis的广播不工作/连接?

所以我试图在Redis的帮助下播放Laravel 5 Events。 不,我不想使用像Pusher这样的服务,因为它不是免费的(即使免费的限制对我来说是足够的),我想保持对广播服务器的控制。 所以我到目前为止所做的是,我build立了一个redis服务器(侦听端口6379 – >默认),我已经设置了以下事件: class MyEventNameHere extends Event implements ShouldBroadcast { use SerializesModels; public $data; /** * Create a new event instance. * * @return \App\Events\MyEventNameHere */ public function __construct() { $this->data = [ 'power' => 10 ]; } /** * Get the channels the event should be broadcast on. * * […]

Node.js Kue如何重启失败的作业

我在我的node.js应用程序中使用kue来延迟作业。 我有一些问题要弄清楚如何使用kue的API重新启动一个作业,而无需手动将作业的ID从失败的作业列表移动到使用redis命令的非活动作业列表。 这可能使用kue吗? 我不想设置固定次数的重试尝试 – 我只是想重试特定的作业。 一个保持良好的替代kue的build议也是受欢迎的。

nodeJS中的Pub / Sub实现

我一直在玩nodeJS的不同发布/订阅实现,并想知道哪一个最适合特定的应用。 应用程序的要求涉及多通道,多用户3D环境中对象的实时同步。 我开始使用socket.io,创build了一个基本的通道数组,当用户发送消息时,它通过该通道中的用户循环,并向用户的客户端发送消息。 这工作得很好,我没有问题。 对于对象持久性,我使用node_redis添加了对Redis的支持。 然后,我用Redis pub / sub作为抽象层,将通道数组上的client.send循环replace掉了。 但是我注意到我需要为订阅的每个用户创build一个新的Redis客户端。 我仍然需要存储socket.io客户端信息发送消息发布。 这是多大的可扩展性? 还有其他(更好的)实现还是我可以进一步优化? 你会怎么做?