草庐IT

pub-cache

全部标签

redis - 使用 redis 的可恢复 PUB/SUB

我正在构建一个由Redis支持的PUB/SUB系统。我有一个发布者和大量订阅者。订阅者并不那么可靠,他们随时可能失去连接并且需要能够从失去的连接中“恢复”。不过有一个转折点,我希望我的积压有一定数量的上限,这意味着有故障的订阅者应该能够恢复仅最多N条消息。简单的解决方案是:发布者发布消息XX被推送到列表RPUSH列表消息消息被编码以包含其在列表中的索引消息发布给消费者(嵌入索引)PUBLISHchannelencoded如果消费者需要重新建立:它在它拥有的索引之后向redis询问列表中的所有值,并以原子方式执行PSUBSCRIBE到这里我们都很好。我的大问题是,如果我希望积压列表的上限

redis - 使用 redis 的可恢复 PUB/SUB

我正在构建一个由Redis支持的PUB/SUB系统。我有一个发布者和大量订阅者。订阅者并不那么可靠,他们随时可能失去连接并且需要能够从失去的连接中“恢复”。不过有一个转折点,我希望我的积压有一定数量的上限,这意味着有故障的订阅者应该能够恢复仅最多N条消息。简单的解决方案是:发布者发布消息XX被推送到列表RPUSH列表消息消息被编码以包含其在列表中的索引消息发布给消费者(嵌入索引)PUBLISHchannelencoded如果消费者需要重新建立:它在它拥有的索引之后向redis询问列表中的所有值,并以原子方式执行PSUBSCRIBE到这里我们都很好。我的大问题是,如果我希望积压列表的上限

node.js - AWS Elastic Cache 是否支持 Redis 集群上的 Pub/Sub?

查看AWSElasticCache的文档,我可以看到他们支持RedisCluster,并大体讨论了键/值数据和Redis操作。但是,我不清楚这是否支持在不同服务器上复制Redis的发布/订阅。我们正在node-xmpp上构建一个聊天服务器。我们将有许多应用程序服务器来处理聊天连接,我们依赖Redis发布/订阅来处理聊天线程之间的通信。我们要求无论每个聊天服务器与哪个实际Redis实例通信,它们都可以共享相同的发布/订阅channel。在AWSElasticcachewhitepaper(page7)如果你想要pub/sub,他们指示使用Redis。我从中了解到AWSElasticCac

node.js - AWS Elastic Cache 是否支持 Redis 集群上的 Pub/Sub?

查看AWSElasticCache的文档,我可以看到他们支持RedisCluster,并大体讨论了键/值数据和Redis操作。但是,我不清楚这是否支持在不同服务器上复制Redis的发布/订阅。我们正在node-xmpp上构建一个聊天服务器。我们将有许多应用程序服务器来处理聊天连接,我们依赖Redis发布/订阅来处理聊天线程之间的通信。我们要求无论每个聊天服务器与哪个实际Redis实例通信,它们都可以共享相同的发布/订阅channel。在AWSElasticcachewhitepaper(page7)如果你想要pub/sub,他们指示使用Redis。我从中了解到AWSElasticCac

caching - 如何使用Redis缓存来缓存大对象

我们当前的缓存实现在报表对象中缓存了大量数据(在某些情况下为50MB)。我们已经从内存缓存转移到文件缓存,并使用ProtoBuf进行序列化和反序列化。这很好用,但是我们现在正在试验Redis缓存。以下是Redis比使用文件系统需要多长时间的示例。(注意:在下面的示例中,当设置字节数组时,使用protobuf而不是JsonConvert将设置时间提高到15秒并将时间提高到4秒)。//ExtremelySLOW–cachingusingRedis(JsonConverttoserialize/de-serialize)IDatabasecache=Connection.GetDatabas

caching - 如何使用Redis缓存来缓存大对象

我们当前的缓存实现在报表对象中缓存了大量数据(在某些情况下为50MB)。我们已经从内存缓存转移到文件缓存,并使用ProtoBuf进行序列化和反序列化。这很好用,但是我们现在正在试验Redis缓存。以下是Redis比使用文件系统需要多长时间的示例。(注意:在下面的示例中,当设置字节数组时,使用protobuf而不是JsonConvert将设置时间提高到15秒并将时间提高到4秒)。//ExtremelySLOW–cachingusingRedis(JsonConverttoserialize/de-serialize)IDatabasecache=Connection.GetDatabas

node.js - 为什么我不能让单个 Redis 客户端在同一连接中充当 PUB 和 Sub?

我的心智模型是“聊天”模式,我订阅了某个channel,然后可以向该channel发布消息。 最佳答案 由于发布/订阅是异步的,发布的消息可能随时出现,包括当您期待对命令的响应时。虽然Redis是单线程的,通常可以防止这种情况发生,但网络延迟会导致一些有趣的影响-根据消息的内容,您可能会在服务器实际收到命令之前收到对命令的有效响应。就是说,如果您真的想要的话,您可能会使用单个连接-“不应该”与“不能”不同,redis遵循一个简单的设计理念,即不试图阻止你开枪自杀脚。但是,只打开两个到服务器的连接要容易得多。如果您达到每个客户端两个连

node.js - 为什么我不能让单个 Redis 客户端在同一连接中充当 PUB 和 Sub?

我的心智模型是“聊天”模式,我订阅了某个channel,然后可以向该channel发布消息。 最佳答案 由于发布/订阅是异步的,发布的消息可能随时出现,包括当您期待对命令的响应时。虽然Redis是单线程的,通常可以防止这种情况发生,但网络延迟会导致一些有趣的影响-根据消息的内容,您可能会在服务器实际收到命令之前收到对命令的有效响应。就是说,如果您真的想要的话,您可能会使用单个连接-“不应该”与“不能”不同,redis遵循一个简单的设计理念,即不试图阻止你开枪自杀脚。但是,只打开两个到服务器的连接要容易得多。如果您达到每个客户端两个连

caching - 获取上次访问给定 Redis key 的时间

我想查看我的redis服务器上特定key的最近访问时间。我知道这个信息是为每个键存储的,因为它被用于redis的LRU算法中,用于淘汰旧键。有没有一种简单的方法可以查看给定key的此信息? 最佳答案 您可以使用OBJECTIDLETIME用于此目的的命令。它返回自访问key以来的秒数,但如果您需要时间,只需从now()中减去回复即可。 关于caching-获取上次访问给定Rediskey的时间,我们在StackOverflow上找到一个类似的问题: https

caching - 获取上次访问给定 Redis key 的时间

我想查看我的redis服务器上特定key的最近访问时间。我知道这个信息是为每个键存储的,因为它被用于redis的LRU算法中,用于淘汰旧键。有没有一种简单的方法可以查看给定key的此信息? 最佳答案 您可以使用OBJECTIDLETIME用于此目的的命令。它返回自访问key以来的秒数,但如果您需要时间,只需从now()中减去回复即可。 关于caching-获取上次访问给定Rediskey的时间,我们在StackOverflow上找到一个类似的问题: https