{"id":28324027,"url":"https://github.com/redistimeseries/nredistimeseries","last_synced_at":"2025-06-24T01:30:47.365Z","repository":{"id":41526575,"uuid":"248192987","full_name":"RedisTimeSeries/NRedisTimeSeries","owner":"RedisTimeSeries","description":".Net Client for RedisTimeSeries","archived":false,"fork":false,"pushed_at":"2024-09-04T11:30:51.000Z","size":226,"stargazers_count":29,"open_issues_count":13,"forks_count":12,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-02T02:04:38.428Z","etag":null,"topics":["dotnet","redis-client","redistimeseries","timeseries"],"latest_commit_sha":null,"homepage":"https://redistimeseries.io","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RedisTimeSeries.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-18T09:51:30.000Z","updated_at":"2024-11-02T09:48:15.000Z","dependencies_parsed_at":"2023-02-04T04:20:46.460Z","dependency_job_id":null,"html_url":"https://github.com/RedisTimeSeries/NRedisTimeSeries","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/RedisTimeSeries/NRedisTimeSeries","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedisTimeSeries%2FNRedisTimeSeries","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedisTimeSeries%2FNRedisTimeSeries/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedisTimeSeries%2FNRedisTimeSeries/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedisTimeSeries%2FNRedisTimeSeries/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RedisTimeSeries","download_url":"https://codeload.github.com/RedisTimeSeries/NRedisTimeSeries/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedisTimeSeries%2FNRedisTimeSeries/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261586160,"owners_count":23181054,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet","redis-client","redistimeseries","timeseries"],"created_at":"2025-05-25T17:09:33.468Z","updated_at":"2025-06-24T01:30:47.354Z","avatar_url":"https://github.com/RedisTimeSeries.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![license](https://img.shields.io/github/license/RedisTimeSeries/NRedisTimeSeries.svg)](https://github.com/RedisTimeSeries/NRedisTimeSeries)\n[![CircleCI](https://circleci.com/gh/RedisTimeSeries/NRedisTimeSeries/tree/master.svg?style=svg)](https://circleci.com/gh/RedisTimeSeries/NRedisTimeSeries/tree/master)\n[![GitHub issues](https://img.shields.io/github/release/RedisTimeSeries/NRedisTimeSeries.svg)](https://github.com/RedisTimeSeries/NRedisTimeSeries/releases/latest)\n[![Codecov](https://codecov.io/gh/RedisTimeSeries/NRedisTimeSeries/branch/master/graph/badge.svg)](https://codecov.io/gh/RedisTimeSeries/NRedisTimeSeries)\n[![Known Vulnerabilities](https://snyk.io/test/github/RedisTimeSeries/NRedisTimeSeries/badge.svg?targetFile=NRedisTimeSeries/NRedisTimeSeries.csproj)](https://snyk.io/test/github/RedisTimeSeries/NRedisTimeSeries?targetFile=NRedisTimeSeries/NRedisTimeSeries.csproj)\n[![StackExchange.Redis](https://img.shields.io/nuget/v/NRedisTimeSeries.svg)](https://www.nuget.org/packages/NRedisTimeSeries/)\n\n# NRedisTimeSeries\n[![Forum](https://img.shields.io/badge/Forum-RedisTimeSeries-blue)](https://forum.redislabs.com/c/modules/redistimeseries)\n[![Discord](https://img.shields.io/discord/697882427875393627?style=flat-square)](https://discord.gg/KExRgMb)\n\n.Net Client for RedisTimeSeries\n\n## Deprecation notice\n\nAs 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).\n\n\n## API\nThe complete documentation of RedisTimeSeries's commands can be found at [RedisTimeSeries's website](http://redistimeseries.io/).\n\n## Usage example\n\n```C#\nConnectionMultiplexer redis = ConnectionMultiplexer.Connect(\"localhost\");\nIDatabase db = redis.GetDatabase();\n\n// Create \nvar label = new TimeSeriesLabel(\"Time\", \"Series\");\ndb.TimeSeriesCreate(\"test\", retentionTime: 5000, labels: new List\u003cTimeSeriesLabel\u003e { label }, duplicatePolicy: TsDuplicatePolicy.MAX);\n\n// Alter\nlabel = new TimeSeriesLabel(\"Alter\", \"label\");\ndb.TimeSeriesAlter(\"test\", retentionTime: 0, labels: new List\u003cTimeSeriesLabel\u003e { label });\n\n// Add\ndb.TimeSeriesAdd(\"test\", 1, 1.12);\ndb.TimeSeriesAdd(\"test\", 1, 1.13, duplicatePolicy: TsDuplicatePolicy.LAST);\n\n// MAdd\nvar sequence = new List\u003c(string, TimeStamp, double)\u003e(3);\nsequence.Add((\"test\", \"*\", 0.0));\nsequence.Add((\"test\", DateTime.UtcNow, 0.0));\nsequence.Add((\"test\", 1, 1.0));\ndb.TimeSeriesMAdd(sequence);\n\n// Rule\ndb.TimeSeriesCreate(\"sumRule\");\nTimeSeriesRule rule = new TimeSeriesRule(\"sumRule\", 20, TsAggregation.Sum);\ndb.TimeSeriesCreateRule(\"test\", rule);\ndb.TimeSeriesAdd(\"test\", \"*\", 1);\ndb.TimeSeriesAdd(\"test\", \"*\", 2);\ndb.TimeSeriesDeleteRule(\"test\", \"sumRule\");\ndb.KeyDelete(\"sumRule\");\n\n// Range\ndb.TimeSeriesRange(\"test\", \"-\", \"+\");\ndb.TimeSeriesRange(\"test\", \"-\", \"+\", aggregation: TsAggregation.Avg, timeBucket: 10);\n\n// Get\ndb.TimeSeriesGet(\"test\");\n\n// Info\nTimeSeriesInformation info = db.TimeSeriesInfo(\"test\");               \n\n// DEL\ndb.KeyDelete(\"test\");\n```\n\n## Further notes on back-filling time series\n\nSince [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. \n\nThe 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).\n\n\nSee the [Example project](NRedisTimeSeries.Example) for commands reference","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredistimeseries%2Fnredistimeseries","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredistimeseries%2Fnredistimeseries","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredistimeseries%2Fnredistimeseries/lists"}