跳到内容

重新注销的例子<一个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="¶“>¶

单词的计数。作者:<一个href="https://redislabs.com/">redislabs.

假设

所有键存储Redis String值。每个值都是句子。Python API.

GB.=GearsBuilder.()GB.地图lambda.XX['价值'])#地图记录“句子”值GB.平局lambda.XX分裂())#print句子到文字GB.Countby.()#计算每个单词的发生GB.()

按键前缀删除<一个class="headerlink" href="//www.szfbf.com/oss/redisgears/#delete-by-key-prefix" title="¶“>¶

删除所有键,其名称以指定的前缀开头并返回其计数。作者:<一个href="https://redislabs.com/">redislabs.

假设

数据库中可能有键。其中一些可能有名称以“delete_me:”前缀开头。Python API.

GB.=GearsBuilder.()GB.地图lambda.XX['钥匙'])#将记录映射到键名称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键。作者:<一个href="https://redislabs.com/">redislabs.

假设

输入redis流存储在“mystream”键下。Python API.

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)。作者:<一个href="https://redislabs.com/">redislabs.

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="¶“>¶

此示例演示了以下的两步过程:

  1. 同步捕获分布式keyspace事件
  2. 异步处理事件流

具体而言,该示例显示了如何输出到日志的过期密钥名称。作者:<一个href="https://redislabs.com/">redislabs.

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事件并存储到流中作者:<一个href="https://redislabs.com/">redislabs.

Python API.

GearsBuilder.()\foreach.lambda.X执行'xadd'“通知 - 流”'*'*([[K.V.]为了K.V.X项目()],[])))\登记字首=“人:*”EventTypes.=['hset''hmset'],模式='同步'的)

分布式蒙特卡洛估计PI.

有更好的方法来获得PI的价值此示例仅供教育目的。出于所有实用目的,您可以使用恒定值3.14159265359更好。

作者:<一个href="https://redislabs.com/">redislabs.

Python API.

Total_darts.=1000000#铸件总数def里面P.):''生成一个随机点,或者不是在圈子里面'''''''随机的进口随机的Xy=随机的(),随机的()返回X*X+y*y<1def抛出():''计算每个碎片的抛出次数''''全球的Total_darts.抛出=Total_darts.CI.=执行'rg.infocluster'的)如果类型CI.的)不是str#假设群集N.=Len.CI.[2])#碎片数量=CI.[1]#我的碎片的身份证ids.=[X[1]为了XCI.[2]种类()#碎片的IDS列表一世=ids.指数的)#我的索引抛出=Total_darts.//N.#每块碎片最小抛出如果一世==.0.Total_darts.N.>0.#第一个碎片变得余下了抛出+ =1屈服抛出def估计击球):''估计PI'''''''''''''')数学进口log10.击球=击球*4.#使用一个象限R.=击球/10.**log10.击球))#使它不合理返回F'pi.\估计值是{R.}'GB.=GB.'pythonreader'的)GB.平局lambda.X[一世为了一世范围X))])#扔掉当地的飞镖GB.筛选里面的)#扔掉错过的飞镖GB.积累lambda.一个X1+一个如果一个别的0.))#算上剩余的飞镖GB.搜集()#收集结果GB.积累lambda.一个XX+一个如果一个别的0.))#Merge Darts'计数GB.地图估计的)#四件馅饼GB.抛出的)
Baidu