Read and Write sample on Cassandra by using Aquiles...
1. You need set your config file. Web.config or App.config
Before running this, you need create KeySpace and ColumnFamily firstly.....
Used Namespaces:
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="aquilesConfiguration" type="Aquiles.Core.Configuration.AquilesConfigurationSection,Aquiles.Core"/>
</configSections>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
<aquilesConfiguration>
<clusters>
<add friendlyName="ImageCluster">
<connection poolType="SIZECONTROLLEDPOOL" factoryType="FRAMED">
</connection>
<endpointManager type="ROUNDROBIN" defaultTimeout="6000">
<cassandraEndpoints>
<add address="10.0.125.231" port="9160"/>
<add address="10.0.125.232" port="9160"/>
</cassandraEndpoints>
</endpointManager>
</add>
</clusters>
</aquilesConfiguration>
</configuration>
static void Insert(string strKey, string strVal)
{
byte[] key = ByteEncoderHelper.UTF8Encoder.ToByteArray(strKey);
ColumnParent columnParent = new ColumnParent()
{
Column_family = "UserToken",
};
// column1
Column column = new Column()
{
// Column name is you defined on your command
Name = ByteEncoderHelper.UTF8Encoder.ToByteArray("MyColumnName"),
Value = ByteEncoderHelper.UTF8Encoder.ToByteArray(strVal),
Timestamp = UnixHelper.UnixTimestamp
};
ICluster cluster = AquilesHelper.RetrieveCluster("ImageCluster");
cluster.Execute(new ExecutionBlock(delegate(Cassandra.Client client)
{
client.insert(key, columnParent, column, ConsistencyLevel.ONE);
return null;
}), "Ks1");
}
static string Read(string strKey)
{
byte[] key = ByteEncoderHelper.UTF8Encoder.ToByteArray(strKey);
ColumnPath columnPath = new ColumnPath()
{
Column = ByteEncoderHelper.UTF8Encoder.ToByteArray("MyColumnName"),
Column_family = "UserToken",
};
ICluster cluster = AquilesHelper.RetrieveCluster("ImageCluster");
ColumnOrSuperColumn column = (ColumnOrSuperColumn)cluster.Execute(new ExecutionBlock(delegate(Cassandra.Client client)
{
return client.get(key, columnPath, ConsistencyLevel.QUORUM);
}), "Ks1");
string str = ByteEncoderHelper.UTF8Encoder.FromByteArray(column.Column.Value);
return str;
}
static void Rmove(string strKey)
{
byte[] key = ByteEncoderHelper.UTF8Encoder.ToByteArray(strKey);
ColumnPath columnPath = new ColumnPath()
{
Column_family = "UserToken",
};
ICluster cluster = AquilesHelper.RetrieveCluster("ImageCluster");
cluster.Execute(new ExecutionBlock(delegate(Cassandra.Client client)
{
client.remove(key, columnPath, UnixHelper.UnixTimestamp, ConsistencyLevel.ONE);
return null;
}), "Ks1");
}
Before running this, you need create KeySpace and ColumnFamily firstly.....
Used Namespaces:
using Aquiles.Helpers.Encoders;
using Apache.Cassandra;
using Aquiles.Helpers;
using Aquiles.Cassandra10;
using Aquiles.Core.Cluster;