Try Playground
Show / Hide Table of Contents

Method Aggregate

Aggregate(IValueExtractor, IAggregator, IKeyFilter, QueryCommand, Int32)

Built upon MapReduce framework, processes distributed data records to return compiled and statistical results for analytical purposes.

Declaration
[Obsolete("This API is deprecated and will be removed in a future release. This feature is being retired and will not be continued in future versions.", false)]
object Aggregate(IValueExtractor extractor, IAggregator aggregator, IKeyFilter keyFilter = null, QueryCommand queryCommand = null, int timeout = 2147483647)
Parameters
Type Name Description
IValueExtractor extractor

Implementation of IValueExtractor to extract the meaningful attributes from given objects.

IAggregator aggregator

IAggregator For actual grouping and analytical operations on given data using Map Reduce Combiner and Reducer.

IKeyFilter keyFilter

Instance of IKeyFilter implementation.

QueryCommand queryCommand

Instance of QueryCommand containing query and values.

System.Int32 timeout

Time in millisecond in which if result is not returned, thread will be terminated and exception or null will be given.

Returns
Type Description
System.Object

Returns a single result depending upon given extractor.

Remarks

Aggregator can perform following operations Average, Sum, Min, Max, Count, Distinct. If the result after aggregation execution is null than default value of built in Aggregator for that specific type is returned. User can also implement custom aggregator, as well as, aggregator for custom data types and also for custom functions like Mean, Median, Mode.

Examples
ICache cache = CacheManager.GetCache("demoClusteredCache");

string key1 = "2202";

Product product1 = new Product()
{
    Id = 4,
    Category = "Clothes",
    UnitPrice = 4,
    UnitsAvailable = 2
};

string key2 = "2203";
Product product2 = new Product()
{
    Id = 4,
    Category = "Shoes",
    UnitPrice = 5,
    UnitsAvailable = 9
};

cache.Add(key1, product1);
cache.Add(key2, product2);

string query = "SELECT Alachisoft.NCache.Sample.Data.Product WHERE this.Category=?";
QueryCommand queryCommand = new QueryCommand(query);
queryCommand.Parameters.Add("Category", "Clothes");

object result = cache.ExecutionService.Aggregate(new BasicTypeExtractor(), BuiltInAggregator.Count(), null, queryCommand, 50000);
In This Article
  • Aggregate(IValueExtractor, IAggregator, IKeyFilter, QueryCommand, Int32)

Contact Us

PHONE

+1 (214) 764-6933   (US)

+44 20 7993 8327   (UK)

 
EMAIL

sales@alachisoft.com

support@alachisoft.com

NCache
  • NCache Enterprise
  • NCache Professional
  • Edition Comparison
  • NCache Architecture
  • Benchmarks
Download
Pricing
Try Playground

Deployments
  • Cloud (SaaS & Software)
  • On-Premises
  • Kubernetes
  • Docker
Technical Use Cases
  • ASP.NET Sessions
  • ASP.NET Core Sessions
  • Pub/Sub Messaging
  • Real-Time ASP.NET SignalR
  • Internet of Things (IoT)
  • NoSQL Database
  • Stream Processing
  • Microservices
Resources
  • Magazine Articles
  • Third-Party Articles
  • Articles
  • Videos
  • Whitepapers
  • Shows
  • Talks
  • Blogs
  • Docs
Customer Case Studies
  • Testimonials
  • Customers
Support
  • Schedule a Demo
  • Forum (Google Groups)
  • Tips
Company
  • Leadership
  • Partners
  • News
  • Events
  • Careers
Contact Us

  • EnglishChinese (Simplified)FrenchGermanItalianJapaneseKoreanPortugueseSpanish

  • Contact Us
  •  
  • Sitemap
  •  
  • Terms of Use
  •  
  • Privacy Policy
� Copyright Alachisoft 2002 - 2025. All rights reserved. NCache is a registered trademark of Diyatech Corp.
Back to top