我需要通过CQL脚本将新列插入现有列族.
我想做的事情如下:
alter COLUMNFAMILY rules ADD rule_template text IF NOT EXISTS;
Run Code Online (Sandbox Code Playgroud)
我怎样才能在CQL脚本中实现这一目标?
当我使用Checkout express API调用时,我是否需要IPN监听器来确认付款?
有些地方认为,一旦我收到DoExpressCheckoutPayment的回复付款已经完成,我可以采取行动 - 更新数据库等.
有些帖子在这里http://www.zen-cart.com/showthread.php?72304- Paypal-IPN-and-Express-Checkout表明IPN已经过时或过时.
这是非常简单的事情我确定,但是当谈到接口时,我正在努力让我的头围绕继承malarky.
给定以下类,如何在特定于Parent类的接口中连接Get方法,而不覆盖基本方法?
public class Base<T, T2>
{
public T Get<T, T2>(string key)
{
...
}
}
public class Parent : Base<Type1, Type2>, IParent
{
...
}
Run Code Online (Sandbox Code Playgroud)
这是我的atm,但我不断得到"inteface成员Type1 IParent.Get(字符串)未实现"错误.
public interface IParent
{
Type1 Get(string key);
}
Run Code Online (Sandbox Code Playgroud) 我需要根据 IP 地址存储有关用户位置的记录,但我不确定如何最好地对其进行建模。
对于每个地址,我们需要记录机器的详细信息(ipaddress、agentId)和机器的位置(isocode、city)。此信息永远不会更新 - 只会插入和读取。
对该数据的查询需要在给定时间段内提取特定用户的位置信息。
传统上,我会使用带有 JSON blob 的宽行 CF 对此进行建模,如下所示:
CREATE TABLE user_location (
userid text,
timestamp timeuuid,
data text, -- json blob {agentid, isocode, city, ipaddress}
PRIMARY KEY (userid, timestamp)
);
Run Code Online (Sandbox Code Playgroud)
我现在质疑这是否是最好的方法,以及我是否应该用用户定义类型 (UDT) 替换 JSON,例如:
CREATE TYPE machinelocation (
isocode text,
city text,
ipaddress inet
);
CREATE TABLE user_location (
userid text,
timestamp timeuuid,
machinelocations map<text, machinelocation>
PRIMARY KEY (userid, timestamp)
);
Run Code Online (Sandbox Code Playgroud)
或者我应该完全取消blob并将json分离到专用列中,ala:
CREATE TABLE user_location (
userid text,
timestamp timeuuid,
agentid text,
isocode text,
city …Run Code Online (Sandbox Code Playgroud) 我在通过 Route53 配置我的域时遇到困难。我不断收到 DNS_PROBE_FINISHED_NXDOMAIN 错误。
我的域名 oscha.jp 是通过 jp-domains.com 注册的。
我在 R53 中创建了一个托管区域,并添加了一个指向我的(测试)服务器的别名记录。然后我登录 jp-domains.com 并更新名称服务器以匹配 R53 中的名称服务器。
使用 pingdom.com DNS 检查工具,我确认我的域使用了正确的 AWS 域名服务器。
我还检查了我的别名 (test.oscha.jp)的traceroute,我可以看到它路由到正确的 IP 地址。但是,将 test.oscha.jp 放入浏览器会返回 DNS_PROBE_FINISHED_NXDOMAIN。
我能做些什么来解决这个问题?
我试图使用nodetool来检查我的集群的状态,但它无法连接.
我的cassandra.yaml配置了listen_address和rpc_address设置为服务器IP(例如10.10.10.266).
我能够使用相同的IP通过cqlsh和cassandra-cli连接,但是当我连接到nodetool时它不起作用.
/bin$ nodetool -h 10.10.10.266 ring
Failed to connect to '10.10.10.266:7199': Connection has timed out
Run Code Online (Sandbox Code Playgroud)
我不认为我在服务器上启用了防火墙(Ubuntu).我直接在有问题的服务器上运行它,所以我不认为这将是一个防火墙问题.
我发现我的CQL3 order by语句返回了奇怪的结果,其中任何以大写字母开头的字符串先排序,然后小写字符串排序第二.
下面是一个示例表:
CREATE TABLE tester
(rowkey text, colname text, colvalue text, primary key (rowkey, colname))
WITH COMPACT STORAGE;
Run Code Online (Sandbox Code Playgroud)
如果我用一些测试数据填充它并运行以下查询,这就是我得到的:
查询:
SELECT * FROM tester WHERE rowkey = 'test' ORDER BY colname ASC
Run Code Online (Sandbox Code Playgroud)
结果:
rowkey | colname | colvalue
-------+---------+---------
test | ABC | blah
test | Abc | blah
test | BBC | blah
test | abc | blah
test | bbC | blah
test | bbc | blah
Run Code Online (Sandbox Code Playgroud)
我不知道这将是预期的行为.有谁知道为什么它这样订购以及如何实现更合理的订单?
cassandra ×4
cql3 ×3
c# ×1
dns ×1
domain-name ×1
inheritance ×1
interface ×1
json ×1
paypal ×1
paypal-ipn ×1
thrift ×1