小编MFD*_*000的帖子

寻找1 x 100万套路口的最佳解决方案?Redis,Mongo,其他

大家好,提前谢谢.我是NoSQL游戏的新手,但我现在的工作地点让我对一些大数据进行了比较.

我们的系统具有客户标签集和目标标签集.标签是8位数字.
客户标签集最多可包含300个标签,但平均为100个标签
.目标标签集最多可包含300个标签,但平均为40个标签.

由于我们正在为十亿用户的潜在客户群拍摄,因此预先计算不是一种选择.

(这些标签是分层的,因此有一个标签意味着你也有它的父标签和祖先标签.暂时把这些信息放在一边.)

当客户访问我们的网站时,我们需要尽快将其标记集与一百万个目标标记集相交.客户集必须包含要匹配的目标集的所有元素.

我一直在探索我的选择,Redis中的集合交集似乎是理想的.然而,我在互联网上的拖钓并没有透露需要多少公羊才能容纳一百万个标签.我意识到交叉点会很快,但这对Redis来说是一个可行的解决方案.

我意识到这是蛮力和低效率.我也想用这个问题作为获取过去处理这类问题的方法的建议.如前所述,标签存储在树中.我已经开始将Mongodb视为一种可能的解决方案.

再次感谢

bigdata mongodb nosql redis

26
推荐指数
3
解决办法
7052
查看次数

backbone.js生产准备好了吗?

我最近在一家初创公司被聘为前端开发人员.由于我们的产品是金融机构将使用的用户管理员,因此我们希望应用程序尽可能像应用程序一样运行.我的任务是找到客户端框架.

经过研究,我选择了backbone.js.当我今天提出这个选择时,我被问到一些问题,我没有完整的答案,但我想你们可能会这样.

  1. backbone.js生产准备好了吗?
    它坚如磐石吗?有什么证据吗?我将只为这个应用程序使用模型,视图和集合.我的问题是,在处理模型时,我的信心是多么自信不会随机失败.我可以看一下官方测试吗?您对骨干有什么经验?

  2. 是否有任何类型的支持网络来处理与骨干相关的问题?

对于这些问题中的任何一个以及您可以向我的老板提出的任何见解的答案都将非常感谢!我真的很想使用骨干,因为我觉得它非常合适,但因为它很新,我需要卖它.

提前致谢!

javascript ajax frontend production backbone.js

15
推荐指数
2
解决办法
4826
查看次数

在 Swift WKWebView 中捕获 window.postMessage

我正在开发一个WKWebView用于加载电子商务网站的 swift ios 应用程序。
当用户在这里购买产品时,结账页面允许用户使用加密货币支付。

当用户点击“在钱包中打开”时,网站会发出一个 window.postMessage(paymentData) 支付数据是一个 js 对象,其中包含一个比特币 URL。

我正在使用WKUserScriptwithWKWebConfiguration注入一个脚本,该脚本侦听窗口消息,然后将数据发送到我的webkit.messageHandler.

let source = """
    window.addEventListener('message', function(e) { window.webkit.messageHandlers.iosListener.postMessage(JSON.stringify(e.data)) } )
    """
Run Code Online (Sandbox Code Playgroud)

不幸的是,这段代码永远不会触发。

当我使用 chrome 或 safari devtools 注入相同的 javascript 时,它工作得很好。

我已经搜索了堆栈溢出以查看window.postMessagein是否存在特殊条件,WKWebView但到目前为止还没有运气。

是否可以捕获window.postMessage()事件并将事件数据通过管道传输回我的 ios 应用程序?

提前致谢!!!!这是我现有的代码。

  let webConfiguration = WKWebViewConfiguration()
    let source = """
    window.addEventListener('message', function(e) { window.webkit.messageHandlers.iosListener.postMessage(JSON.stringify(e.data)) } )
    """
    let script = WKUserScript(source: source, injectionTime: .atDocumentEnd, forMainFrameOnly: false)
    userContentController.addUserScript(script)

    userContentController.add(self, name: "iosListener")
    webConfiguration.userContentController = …
Run Code Online (Sandbox Code Playgroud)

javascript native ios swift wkwebview

7
推荐指数
1
解决办法
8978
查看次数

Blob 和 Liquibase generateChangeLog

我们刚刚开始在我们的商店使用 liquibase。我们使用 postgresql 9.3

我们正在尝试使用

liquibase --diffTypes=data generateChangeLog
Run Code Online (Sandbox Code Playgroud)

为我们的活动表创建变更日志。

这些表使用 bytea 列来存储 PNG 数据。但是,当我们运行 generateChangeLog 时,来自 liquibase 的值不是列中的值。而是得到了这个。

 <insert tableName="act_ge_bytearray">
        <column name="id_" value="148802"/>
        <column name="rev_" valueNumeric="1"/>
        <column name="name_" value="image/jpeg"/>
        <column name="deployment_id_"/>
        <column name="bytes_" value="[B@4d513b99"/>
        <column name="generated_"/>
    </insert>
Run Code Online (Sandbox Code Playgroud)

bytes_ 中的实际数据是 PNG 文件的二进制表示。我不会在这里粘贴它,因为它很长,但正如你所看到的,liquibase 不会复制正确的数据。

有没有办法解决这个问题,以便 generateChangeLog 返回实际存储在 bytea 列中的内容?

谢谢你的帮助。

sql postgresql liquibase

5
推荐指数
1
解决办法
1898
查看次数

SQL选择子集所在的所有行

我确信这个问题有一个答案,但我不喜欢我,因为我是SQL新手,不知道如何提问.

我有这样的数据(这只是简单的简写).这是一个postgres数据库.

table1
id    value
1     111
1     112
1     113
2     111
2     112
2     116
3     111
3     122
3     123
4     126
5     123
5     125
6     111
6     112
6     116

table2
value
111
112
116
Run Code Online (Sandbox Code Playgroud)

我需要返回table1的id,其中table2中的所有值都存在于table1的值中.因此,对于此示例,我的查询将返回2和6.

在SQL中有什么办法吗?或者你可以引导我到一个允许我得到这个结果的数据结构吗?我可以更改任一表的结构,以满足获得此结果的最终需要

非常感谢.对此的答案是节省生命.

sql database postgresql relational-division

4
推荐指数
1
解决办法
7014
查看次数

MOQ:不能将Moq.Mock转换为VB.Net中的接口

我正在编写一个简单的单元测试,以检查VB.Net MVC 1中的ActionResult是否返回了正确的视图名称.控制器需要一个服务,我正在尝试模拟服务,但不断收到此错误.

Unable to cast object of type 'Moq.Mock`1[SRE.Web.Mvc.INotificationService]' to type 'SRE.Web.Mvc.INotificationService'.
Run Code Online (Sandbox Code Playgroud)

正如我所说,简单而且我不知道从哪里开始.

这是测试.

<Test()> _
    Public Sub Index_Properly_Validates_Email_Address()
        'Arrange
        Dim fakeNotifcationService As New Mock(Of INotificationService)(MockBehavior.Strict)
        Dim controller As New CustomerServiceController(fakeNotifcationService)
        Dim result As ViewResult


        'Act
        result = controller.Feedback("fake@fake.com", "fakesubject", "fakemessage")
        'Assert
        Assert.AreEqual("thankyou", result.ViewName)

    End Sub
Run Code Online (Sandbox Code Playgroud)

vb.net asp.net-mvc moq

3
推荐指数
1
解决办法
1021
查看次数

学习基本轨道:在哪里放置条件业务逻辑?

因此,我试图自学铁路,并在弄清楚逻辑在哪里时遇到一些麻烦.在我的练习中,我有一个付款模式.class pyament Integer Product_Type String Product_name

如果product_Type是物理的,则有处理付款的规则,执行此操作,如果product_name是book,则执行此操作,如果product_name是cow,请执行此操作,执行此操作

我无法弄清楚的是在哪里制定这些规则.我是否在名为process的模型中创建了一个运行这些规则的方法?这是逻辑进入控制器吗?我只是不清楚这一点.

任何见解将不胜感激.

谢谢

ruby model-view-controller ruby-on-rails ruby-on-rails-3

1
推荐指数
1
解决办法
641
查看次数

Redis 集的替代品

所以为了设置这个,我有一个公司,我们有用户和一组标签来描述这些用户。每个用户最多可以附加 5000 个标签。

我们有一个引擎,允许客户选择某些标签来制作标签组。引擎具有 AND/Or 功能和 Include/Exclude。客户可以创建一个标签组,我们的引擎会找到满足标签组中指定的逻辑要求的用户总数。基本上这只是交集、联合和排除,所以 redis 集已经很完美了。

为了处理这个问题,我将数据存储为这样。Tag1:[user1, user2,user3] Tag2:[user1, user5, user6] 等等

从这里开始,所有 bool 逻辑都是使用脚本完成的。

然而,我们的客户群正在迅速扩大。几年之内,我们要么需要几个 64GB 的 redis 服务器,要么需要一个替代方案。

这是我的问题。是否有任何闪电般快速的数据库选项用于执行基于磁盘的交集和并集?我尝试过 Postgres,但性能不可接受。例如,对 500k 用户集的集比较需要 1 秒。在 Postgres 中,我看到大约 30 秒,如果标签组中有很多标签,时间会更长。

我已经推荐了 DynamoDB 和其他一些,但只是想在我深入挖掘之前获得一些受过教育的意见。

谢谢,丹

database-design relational-database nosql redis

1
推荐指数
1
解决办法
1877
查看次数