草庐IT

sub_hash

全部标签

ruby-on-rails-3 - 在 Rails 和 Node.js 中使用 Redis pub/sub 作为消息队列进行异步

我有一个向Node.js应用程序发送请求的Rails应用程序。node.js应用程序处理请求并返回到Rails应用程序。这一切都在Rails应用程序中同步完成(应用程序会阻塞,直到Node.js返回)。然而,我打算做的是让它成为非阻塞的。我希望Rails应用程序向Node.js应用程序发送请求,并且只有当Node.js应用程序返回时,Rails应用程序才会通过UI向用户显示信息(请求不会被阻止)。这是我第一次需要做这样的事情,但我不知道该怎么做。我在想,如果我将请求放入队列(可能是redispubsub),我可以使用Node.js检索它,处理并再次返回。这行得通吗?还有,我怎么知道是哪

redis - Redis Hash Hmset是在Transaction中执行的吗?

假设我正在使用HMSETmyhashfield1"Hello"field2"World"在我的redis中设置两个字段,而其他人正在使用HGETALLkey获取所有键,在这种情况下他们有机会得到结果field1吗?或者结果可能仅为null或field1,field2。 最佳答案 Redis保证HMSET和HGETALL都是原子执行的。所以你要么得到空回复,要么得到myhash的所有字段。 关于redis-RedisHashHmset是在Transaction中执行的吗?,我们在Stack

redis - Redis Hash Hmset是在Transaction中执行的吗?

假设我正在使用HMSETmyhashfield1"Hello"field2"World"在我的redis中设置两个字段,而其他人正在使用HGETALLkey获取所有键,在这种情况下他们有机会得到结果field1吗?或者结果可能仅为null或field1,field2。 最佳答案 Redis保证HMSET和HGETALL都是原子执行的。所以你要么得到空回复,要么得到myhash的所有字段。 关于redis-RedisHashHmset是在Transaction中执行的吗?,我们在Stack

ruby-on-rails - 如何使用 Redis/Node/Rails 延迟和合并 pub/sub

我有一个RubyOnRails应用程序,它使用Node.js/Socket.io服务器向所有连接的客户端推送交易信息。每当执行交易时,客户端屏幕都会更新上次交易的信息。随着交易频率的增加,每秒更新一次甚至更频繁的更新变得相当烦人。我正在寻找一种方法,例如最多将更新推送给客户端。每5秒一次,即如果没有交易发生,则不会推送任何内容。我目前的情况是:我通过以下方式将交易信息从Rails应用程序推送到Redis:REDIS.publish('tradeupdate',.....)Node服务器会做类似的事情:cli_sub.subscribe("tradeupdate");cli_sub.on

ruby-on-rails - 如何使用 Redis/Node/Rails 延迟和合并 pub/sub

我有一个RubyOnRails应用程序,它使用Node.js/Socket.io服务器向所有连接的客户端推送交易信息。每当执行交易时,客户端屏幕都会更新上次交易的信息。随着交易频率的增加,每秒更新一次甚至更频繁的更新变得相当烦人。我正在寻找一种方法,例如最多将更新推送给客户端。每5秒一次,即如果没有交易发生,则不会推送任何内容。我目前的情况是:我通过以下方式将交易信息从Rails应用程序推送到Redis:REDIS.publish('tradeupdate',.....)Node服务器会做类似的事情:cli_sub.subscribe("tradeupdate");cli_sub.on

node.js - 添加hash到集合成员--node-redis

Redis让我很困惑。我只需要一组用户。用户的key将是他们的userID:varuser=userID;然后我想为这些用户设置哈希值,现在我只有一个-socketID://addfirstuserredis.sadd("users",user);redis.hmset(user,"socketID",socket.id);但是,user被添加到集合users中。但是socketID的散列不存在。似乎当我执行hmset时,它被设置在与sadd命令中的on无关的其他一些user键上。 最佳答案 我终于明白是怎么回事了(在redis中,

node.js - 添加hash到集合成员--node-redis

Redis让我很困惑。我只需要一组用户。用户的key将是他们的userID:varuser=userID;然后我想为这些用户设置哈希值,现在我只有一个-socketID://addfirstuserredis.sadd("users",user);redis.hmset(user,"socketID",socket.id);但是,user被添加到集合users中。但是socketID的散列不存在。似乎当我执行hmset时,它被设置在与sadd命令中的on无关的其他一些user键上。 最佳答案 我终于明白是怎么回事了(在redis中,

redis - Redis中如何让多个节点存储一个hash map

在Redis的集群模式下,无论是什么数据结构(如List/Hash),是否一定要将具有特定key的数据存储在特定的节点中?例如,我有一个HashMap:HMSETwebsitegooglewww.google.comyahoowww.yahoo.comhashmap的key是“website”,hashmap有数据{google:www.google.com,yahoo:www.yahoo.com}。以我的理解,HashMap仅存储在集群的一个节点中。当hashmap很大时(例如一个hashmap中有400M键值对),效率不高。我的问题是:有没有办法在集群中自动分发同一个key的has

redis - Redis中如何让多个节点存储一个hash map

在Redis的集群模式下,无论是什么数据结构(如List/Hash),是否一定要将具有特定key的数据存储在特定的节点中?例如,我有一个HashMap:HMSETwebsitegooglewww.google.comyahoowww.yahoo.comhashmap的key是“website”,hashmap有数据{google:www.google.com,yahoo:www.yahoo.com}。以我的理解,HashMap仅存储在集群的一个节点中。当hashmap很大时(例如一个hashmap中有400M键值对),效率不高。我的问题是:有没有办法在集群中自动分发同一个key的has

node.js - Redis pub/sub - 同一进程监听一个 channel

我有一个Node.js服务器-我想让进程监听从它自己发送的消息-这仅用于测试。我遇到的问题是,当向同一进程发布消息时,订阅者似乎根本没有收到它。我有这个设置:varredis=require('redis');varrcPub=redis.createClient();varrcSub=redis.createClient();varmessage=String('testing123');rcSub.subscribe('redis_channel@test_overall_health');rcSub.on('message',function(channel,msgs){cons