重新注销的例子<一个class="headerlink" href="//www.szfbf.com/oss/redisgears/#redisgears-examples" title="¶“>¶一个>
以下部分由各种部分组成<一个href="//www.szfbf.com/oss/oss/redisgears/glossary.html">食谱一个>显示重新注销的用途和基本示例。
食谱<一个class="headerlink" href="//www.szfbf.com/oss/redisgears/#recipes" title="¶“>¶一个>
这是重新注销的食谱列表,可用作的或作为灵感的来源。
食谱 | 描述 | 作者 | 执照 | URL. |
---|---|---|---|---|
写作 | 从Redis写入后面和写入其他SQL / No-SQL数据库 | redislabs.一个> | BSD-3-条款 | Git.一个> |
AnimalRecognitionDemo. | 使用Redis Streams,Redisgears和Redisai进行实时视频分析的示例(即过滤猫) | redislabs.一个> | BSD-3-条款 | Git.一个> |
EdgerealtimevideoAnalytics. | 使用Redis Streams,Redisgears,Redisai和RegistimeSeries进行实时视频分析(即计数人员)的示例 | redislabs.一个> | Apache-2.0. | Git.一个> |
FrauddetectionDemo. | 将多个Redis数据结构的一个示例以及Redisgears和Redisai在交易评分期间展示数据局部性的优势 | redislabs.一个> | BSD-3-条款 | Git.一个> |
字数<一个class="headerlink" href="//www.szfbf.com/oss/redisgears/#word-count" title="¶“>¶一个>
单词的计数。
假设
所有键存储Redis String值。每个值都是句子。
GB.=GearsBuilder.()GB.。地图(lambda.X:X['价值'])#地图记录“句子”值GB.。平局(lambda.X:X。分裂())#print句子到文字GB.。Countby.()#计算每个单词的发生GB.。跑()
按键前缀删除<一个class="headerlink" href="//www.szfbf.com/oss/redisgears/#delete-by-key-prefix" title="¶“>¶一个>
删除所有键,其名称以指定的前缀开头并返回其计数。
假设
数据库中可能有键。其中一些可能有名称以“delete_me:”前缀开头。
GB.=GearsBuilder.()GB.。地图(lambda.X:X['钥匙'])#将记录映射到键名称GB.。foreach.(lambda.X:执行('del'那X))#删除每个键GB.。数数()#计数记录GB.。跑('删除我:*'的)
基本redis流处理<一个class="headerlink" href="//www.szfbf.com/oss/redisgears/#basic-redis-stream-processing" title="¶“>¶一个>
将每个新邮件从Redis Stream复制到Redis Hash键。
假设
输入redis流存储在“mystream”键下。
GB.=GearsBuilder.('StreamReader'的)GB.。foreach.(lambda.X:执行('hmset'那X['streamid'],*X))#写信给Redis哈希GB.。登记('我的直播'的)
自动到期<一个class="headerlink" href="//www.szfbf.com/oss/redisgears/#automatic-expiry" title="¶“>¶一个>
将每个更新的键设置为一小时的时间(TTL)。
Python API.
GB.=GB.()GB.。foreach.(lambda.X:执行('到期'那X['钥匙'],3600))GB.。登记('*'那模式='同步'那ReadValue.=错误的的)
作者:<一个href="https://redislabs.com/">redislabs.一个>
keyspace通知处理<一个class="headerlink" href="//www.szfbf.com/oss/redisgears/#keyspace-notification-processing" title="¶“>¶一个>
此示例演示了以下的两步过程:
- 同步捕获分布式keyspace事件
- 异步处理事件流
具体而言,该示例显示了如何输出到日志的过期密钥名称。
def过程(X):'''处理来自本地到期流的消息注意:在此示例中,我们只需打印到日志,但随时替换这个逻辑与您自己,例如,对REST API的HTTP请求或呼叫外部数据存储。'''日志(F“钥匙 '{X['价值'] ['钥匙']}'过期了{X['ID']。分裂(' - ')[0.]}“的)#捕获到期事件并将其添加到Shard的本地“过期”流中帽=GB.('keysreader'的)帽。foreach.(lambda.X:执行('xadd'那F'已到期:{井号()}'那'*'那'钥匙'那X['钥匙'])帽。登记(字首='*'那模式='同步'那EventTypes.=['已到期'],ReadValue.=错误的的)#使用到期流中的新消息并以某种方式处理它们Proc.=GB.('StreamReader'的)Proc.。foreach.(过程的)Proc.。登记(字首='已到期:*'那批=100.那期间=1的)
可靠的keyspace通知<一个class="headerlink" href="//www.szfbf.com/oss/redisgears/#reliable-keyspace-notification" title="¶“>¶一个>
捕获每个keyspace事件并存储到流中
Python API.
GearsBuilder.()\。foreach.(lambda.X:执行('xadd'那“通知 - 流”那'*'那*和([[K.那V.]为了K.那V.在X。项目()],[])))\。登记(字首=“人:*”那EventTypes.=['hset'那'hmset'],模式='同步'的)