Tag: redis

Redis的Nodejs对象文档模型

我想在node.js中使用redis的ODM。 有没有人使用过任何经验? 我理想的想要的东西有点相当于mongoose (除了Redis,而不是Mongodb)。 我迄今所听到的两个是霍姆和罗恩 。 有人可以比较使用这两种方法的经验吗? 我也读过关于redback的内容 ,我很好奇它是否可以和ODM合作。

发送下游消息到与节点js谷歌ccs

我正在使用node-xmpp连接到谷歌gcm ccs服务器。 我跟着从谷歌谷歌组连接。 现在我需要发送一个下游消息,每当我收到来自我的redis订阅者的消息(我订阅了一个redis channel redis节点包 )。 我的代码如下 var gearmanode = require('gearmanode'); var redis = require("redis"); var xmpp = require('node-xmpp'); var gearJob; var redisSubChan = 'test_channel'; var gearmanJobName = 'reverse'; var jobPayload; var redisClient; var xmppClient; var gearClient; gearClient = gearmanode.client(); var options = { type: 'client', jid: 'myid@gcm.googleapis.com', password: 'myserverkey', port: 5235, host: 'gcm.googleapis.com', […]

Node.js + Express + Redis什么时候closures连接?

我有一个使用Express和node_redis的节点应用程序。 我遵循学习节点手册中概述的方法,并为应用程序的整个生命周期创build单个客户端。 鉴于这种方法,我什么时候在redis客户端上调用close() ? 我甚至需要吗? 相关的代码 var express = require( 'express' ), redis = require( 'redis' ); var app = express(), config = require( './config/application' )[ app.get( 'env' ) ]; // create Redis client var redisClient = redis.createClient(); redisClient.on( 'error', function( err ) { console.log( 'Error' + err ); } ); // select the database […]

如何部署使用Redis的Meteor应用程序?

我偶然发现了这个软件包,最近redis-oplog似乎是一个非常好的软件包。 鉴于我对Redis没有任何经验,我做了一些search,发现有人说Redis比Mongo Oplog更好,所以我想用我的Meteor项目来试试这个包。 不过,在尝试之前,我有一些关于部署的问题: 我是否需要单独的服务器来运行Redis? 如果我无法为Redis提供服务器,可以在与Meteor应用程序相同的服务器上运行Redis吗? 如果我的Meteor应用程序有很多实例,Redis也是如此(不知道Redis是否可以有/需要多个实例吗?),我该如何让它们一起工作? 如果我设法使用Redis进行生产,我应该对Mongo服务器进行哪些更改? 因为Mongo Oplog在那个时候不再被使用

如何扩展Node.js WebSocket Redis服务器?

我正在为Acani写一个聊天服务器,而且我还有一些关于使用负载均衡器可伸缩性来扩展 node.js和websockets的问题。 究竟是什么意思来负载均衡Node.js? 这是否意味着将有n个独立版本的服务器应用程序运行,每个版本都在一个单独的服务器上运行 为了允许一个客户端向所有其他客户端广播消息,我存储了一组在服务器上打开的所有webSocketConnections 。 但是,如果我有我的服务器应用程序运行n个独立版本,每个在一个单独的服务器上,那么我将有n套不同的webSocketConnections ? 如果1和2的答案是肯定的,那么如何存储通用的webSocketConnections (跨所有服务器)? 我想我可以做的一个方法是使用Redis Pub / Sub,并且每个webSocketConnection订阅Redis上的一个频道。 但是,那Redis服务器不会成为瓶颈吗? 那么我将如何扩展Redis? 这对Redis的规模意味着什么? 这是否意味着我有不同的服务器上运行Redis独立版本? 这甚至可能吗? 我听说Redis没有扩展。 为什么有人会这么说呢。 那是什么意思? 如果这是真的,有没有更好的解决scheme发布/分发和/或存储所有广播的消息列表? 注意:如果你的答案是Acani永远不会规模化,那么即使地球上70亿人(和成长中的每一个人)都要每秒钟向地球上的每个人传播一个信息,那么请给出一个有效的解释。

node.js中的聊天服务器的Redis pub / sub

我正在尝试使用Redis Cookbook示例: var http = require('http'), io = require('socket.io') fs = require('fs'), redis = require('redis'), rc = redis.createClient(9189, "pike.redistogo.com"); rc.auth("passwd", function() { console.log("Connected! to redistogo!");}); rc.on("connect", function() { rc.subscribe("chat"); console.log("rc connect event"); }); 我通过这里成功,但从来没有得到“信息”。 rc.on("message", function (channel, message) { console.log("Sending: " + message); socketio.sockets.emit('message', message); }); webpage = http.createServer(function(req, res){ console.log('webpage request starting…'); fs.readFile('./index.htm', function(error, […]

会redis删除我的旧express.js会议?

我正在使用redis作为我的会话存储为node.js +快速应用程序…它会自动删除旧会话过期后吗? …或者我需要做一些清理在服务器端? (所以数据库不会变得太大) var RedisStore = require('connect-redis')(express) app.use(express.session({ store: new RedisStore({ host: cfg.redis.host, db: cfg.redis.db }), secret: 'foobar' }));

redis-server – 未find命令

完全新的nodejs和redis。 Node.js工作正常,NPM也能正常工作。 我想和Redis玩,所以我跑了: npm install redis 这似乎工作正常,但现在我试图运行: redis-server 我得到一个命令未find错误。 我在Mac上,如果这是相关的。 任何人可以提供一些build议?

Express SessionID与Cookie中的SessionID不同

我有一个相应的问题,使用给出的例子。 在这个例子中,会话在WebSocket中被使用,首先重载: socket.on('set value', function (val) { sess.reload(function () { sess.value = val; sess.touch().save(); }); }); 试图在我自己的应用程序中使用它,我得到以下exception: sess.reload(function () { ^ TypeError: Object #<Object> has no method 'reload' 我认为问题是,没有人将variablessess定义为会话: io.listen(app).set('authorization', function (data, accept) { if (!data.headers.cookie) return accept('No cookie transmitted.', false); data.cookie = parseCookie(data.headers.cookie); data.sessionID = data.cookie['express.sid']; store.load(data.sessionID, function (err, session) { if (err || […]

如何通过Node.js为Redis数据库发出HGET / GET命令?

我正在使用Node.js和一个Redis数据库。 我是Redis的新手。 我正在使用节点的https://github.com/mranney/node_redis驱动程序。 初始化代码 – var redis = require("redis"), client = redis.createClient(); 我尝试设置一些关键值对 – client.hset("users:123" ,"name", "Jack"); 我想知道我可以通过节点从Redis获取名称参数。 我试过了 var name = client.hget("users:123", "name"); //returns 'true' 但它只是作为输出返回“真”。 我想要的价值(即 – 杰克)什么是我需要使用的声明?