https://github.com/redistimeseries/nredistimeseries
.Net Client for RedisTimeSeries
https://github.com/redistimeseries/nredistimeseries
dotnet redis-client redistimeseries timeseries
Last synced: 12 months ago
JSON representation
.Net Client for RedisTimeSeries
- Host: GitHub
- URL: https://github.com/redistimeseries/nredistimeseries
- Owner: RedisTimeSeries
- License: bsd-3-clause
- Created: 2020-03-18T09:51:30.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-04T11:30:51.000Z (over 1 year ago)
- Last Synced: 2025-06-02T02:04:38.428Z (about 1 year ago)
- Topics: dotnet, redis-client, redistimeseries, timeseries
- Language: C#
- Homepage: https://redistimeseries.io
- Size: 221 KB
- Stars: 29
- Watchers: 6
- Forks: 12
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/RedisTimeSeries/NRedisTimeSeries)
[](https://circleci.com/gh/RedisTimeSeries/NRedisTimeSeries/tree/master)
[](https://github.com/RedisTimeSeries/NRedisTimeSeries/releases/latest)
[](https://codecov.io/gh/RedisTimeSeries/NRedisTimeSeries)
[](https://snyk.io/test/github/RedisTimeSeries/NRedisTimeSeries?targetFile=NRedisTimeSeries/NRedisTimeSeries.csproj)
[](https://www.nuget.org/packages/NRedisTimeSeries/)
# NRedisTimeSeries
[](https://forum.redislabs.com/c/modules/redistimeseries)
[](https://discord.gg/KExRgMb)
.Net Client for RedisTimeSeries
## Deprecation notice
As of [nredisstack 0.4.1](https://github.com/redis/nredisstack) this library is deprecated. It's features have been merged into [nredisstack](https://github.com/redis/nredisstack. Please either install it [from nuget](https://www.nuget.org/packages/NRedisStack) or [the repo](https://github.com/redis/nredisstack).
## API
The complete documentation of RedisTimeSeries's commands can be found at [RedisTimeSeries's website](http://redistimeseries.io/).
## Usage example
```C#
ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost");
IDatabase db = redis.GetDatabase();
// Create
var label = new TimeSeriesLabel("Time", "Series");
db.TimeSeriesCreate("test", retentionTime: 5000, labels: new List { label }, duplicatePolicy: TsDuplicatePolicy.MAX);
// Alter
label = new TimeSeriesLabel("Alter", "label");
db.TimeSeriesAlter("test", retentionTime: 0, labels: new List { label });
// Add
db.TimeSeriesAdd("test", 1, 1.12);
db.TimeSeriesAdd("test", 1, 1.13, duplicatePolicy: TsDuplicatePolicy.LAST);
// MAdd
var sequence = new List<(string, TimeStamp, double)>(3);
sequence.Add(("test", "*", 0.0));
sequence.Add(("test", DateTime.UtcNow, 0.0));
sequence.Add(("test", 1, 1.0));
db.TimeSeriesMAdd(sequence);
// Rule
db.TimeSeriesCreate("sumRule");
TimeSeriesRule rule = new TimeSeriesRule("sumRule", 20, TsAggregation.Sum);
db.TimeSeriesCreateRule("test", rule);
db.TimeSeriesAdd("test", "*", 1);
db.TimeSeriesAdd("test", "*", 2);
db.TimeSeriesDeleteRule("test", "sumRule");
db.KeyDelete("sumRule");
// Range
db.TimeSeriesRange("test", "-", "+");
db.TimeSeriesRange("test", "-", "+", aggregation: TsAggregation.Avg, timeBucket: 10);
// Get
db.TimeSeriesGet("test");
// Info
TimeSeriesInformation info = db.TimeSeriesInfo("test");
// DEL
db.KeyDelete("test");
```
## Further notes on back-filling time series
Since [RedisTimeSeries 1.4](https://github.com/RedisTimeSeries/RedisTimeSeries/releases/tag/v1.4.5) we've added the ability to back-fill time series, with different duplicate policies.
The default behavior is to block updates to the same timestamp, and you can control it via the `duplicatePolicy` argument. You can check in detail the [duplicate policy documentation](https://oss.redislabs.com/redistimeseries/configuration/#duplicate_policy).
See the [Example project](NRedisTimeSeries.Example) for commands reference