草庐IT

sub_tree

全部标签

redis - 可以将redis键空间通知推送到redis流而不是pub/sub channel 吗

我们有一个要求,我们需要获得有关Redis数据结构更改的通知。根据我的研究,我发现我可以使用Redis键空间通知来做同样的事情。然而,Rediskey空间通知将事件发送到Redis发布/订阅channel,该channel是即发即忘的,即一旦客户端失去连接,所有事件直到连接再次建立都将丢失。Redis流解决了这个问题。我还想使用Redis流的消费者组功能。那么有什么方法可以将Redis键空间通知推送到Redis流而不是Redis发布/订阅channel? 最佳答案 根据当前的Redisv5.0.3,唯一可以做到这一点的方法是使用模块

php - 如何使用 Redis Pub/Sub 在多个工作人员之间映射工作?

我有一个Redis客户端,它需要在3个工作人员之间拆分/映射一个工作。假设作业包含3个任务。我想以这样的方式映射它们,使它们中的3个并行运行,并且作业只需要(大约)1/3的执行时间。有什么办法可以用Redis本身做到这一点吗?我没找到。 最佳答案 您可以使用redis创建任务队列。例如,您可以让主进程将任务推送到任务队列,然后让工作进程不断轮询任务队列以获取新工作。主伪代码:while(1)ifsome_conditionredis.rpush"tasks","task1"redis.rpush"tasks","task2"redi

php - Redis sub/pub 一次发布多个

如果我有多个用户通过Redis发布到一个channel,这是如何工作的?可以说我有一个php脚本来在数据库中添加一条记录。2个用户都订阅了同一个channel,并且都同时向数据库中输入了一条记录。两者都使用php脚本将条目提交到数据库中,一旦完成,我然后使用php-redis发布到channel。但是,如果2个或更多人同时这样做会怎样?Redis是否会“锁定”第一个请求然后为下一个请求“解锁”? 最佳答案 Redis是单线程的,所以一个命令必须先发生,不需要加锁。您通常不会注意到阻塞,因为单个请求花费的大部分时间是网络延迟,而不是实

android - 使用 Java Redis 客户端实现 Pub/Sub

我正在为android编写一个聊天应用程序。我想在我的后端使用redis,这样通过发布,我可以向连接到服务器的所有客户端发送消息,并在客户端订阅以监听服务器。我想知道这有什么问题吗?另外,我发现客户端可以在订阅channel时执行命令,有没有办法解决这个问题,这样如果移动客户端订阅接收消息,它仍然可以使用发布来发送消息。谢谢 最佳答案 Iwanttoknowifthere'sanythingwrongwiththis?只要您的后端包含一些服务器端技术,这些技术将处理来自客户端的请求,并且redis将从这些客户端中抽象出来,就可以了。

node.js - 具有选择性推送的通知系统的 redis pub/sub 模型

我希望构建一个像facebook这样的通知系统,我的应用程序逻辑(发布者)会将所有用户生成的通知推送到redis系统。User1-------------->Redis(Channel:notifications)User2-------------->Redis(Channel:notifications)User3-------------->Redis(Channel:notifications)如上所示,用户1、2、3生成的所有事件都发送到相同的channel通知。我有一个node.js/socket.io服务器监听redis作为这些通知的订阅者。(订阅channel通知)现在

ruby-on-rails - 在 Rails 中实现订阅 Redis pub sub 的最佳方式是什么?

我正在使用的场景是我有一个node.js引擎,它正在接收来自各种服务的web-hook和pubsubhubhub查询。它需要将传入的数据发送到Rails进行处理和存储。我正在考虑是在Rails端为此使用HTTP回调,还是可能使用RedisPubsub。问题是:如何让Rails订阅和收听Redis?在Juggernaut的示例中,他们将其实现为循环,但如果我将订阅循环放入库中并在应用程序加载时对其进行初始化,它会阻止加载。 最佳答案 你看过这样的东西吗?https://github.com/technoweenie/coffee-re

c# - 如何使用日期范围从 Redis (pub/sub) 保存和检索 channel 数据?

最初我问的是查询.rdb文件,这不是我想要做的-我将查询事件服务器。我即将开始一个项目,我们将在发布/订阅场景中使用Redis,使用RDB快照。.NetWCF客户端将通过MarcGravell's配置Redis连接BookSleeve并接受传入的请求。启用RDB快照后,将创建增量快照。我希望客户端能够根据给定的channel和日期范围检索数据集。我在想我会使用相同的WCF客户端进行读取和写入(除非有任何明显的反对意见)。我不完全清楚使用什么方法来查询服务器以检索日期范围、channel特定数据并通过WCF客户端传送这些数据。我能否通过BookSleeve实现此数据查询功能(如果可以,如

php - redis pub/sub 在 php 中是否现实?

我想在PHP中使用redispub/sub,但恐怕PHP不是唯一的工具:订阅者需要始终可调用,因为php不是为作为守护进程运行而构建的,我不能相信它总是可靠地“开启”。那么PHP世界的解决方案是什么?不要使用pub/sub,使用其他redis的存储和每x分钟启动php的crontask使用会调用php的代理?其他?用“2”。我的意思是:使用作为守护订阅者的nodejs/java/fooBar服务器并回调php(使用http/cli或其他)。我找不到比“2”更好的主意了。,但它似乎同样无效......你怎么看?编辑:你会如何使用像platform.sh这样的云平台来做到这一点,它不提供类

redis pub sub 和 ttl

有没有办法让我在redis中使“已发布”消息过期?我需要这个,因为根据我的理解,任何已发布的消息都将被放入队列中,直到有订阅者为止。在这种情况下,如果没有订阅者,即使数据可能变得无用,我也会存储它。 最佳答案 发布的消息永远不会存储在redis中。RedisPUB/SUB 关于redispubsub和ttl,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7759169/

Merkle Tree 构建(C++实现)

MerkleTree构建(C++实现)区块链学习笔记(一)一、相关知识简要介绍MerkleTree,通常也被称作HashTree,顾名思义,就是存储hash值的一棵树。Merkle树的叶子是数据块(例如,文件或者文件的集合)的hash值。非叶节点是其对应子节点串联字符串的hash,下图为一个简单的Merkle树的结构。在比特币网络中,Merkle树被用来归纳一个区块中的所有交易,同时生成整个交易集合的数字指纹,且提供了一种校验区块是否存在某交易的高效途径。Hash是一个把任意长度的数据映射成固定长度数据的函数。例如,对于数据完整性校验,最简单的方法是对整个数据做Hash运算得到固定长度的Has