AsyncRedisModels 1.0.0.26
dotnet add package AsyncRedisModels --version 1.0.0.26
NuGet\Install-Package AsyncRedisModels -Version 1.0.0.26
<PackageReference Include="AsyncRedisModels" Version="1.0.0.26" />
<PackageVersion Include="AsyncRedisModels" Version="1.0.0.26" />
<PackageReference Include="AsyncRedisModels" />
paket add AsyncRedisModels --version 1.0.0.26
#r "nuget: AsyncRedisModels, 1.0.0.26"
#:package AsyncRedisModels@1.0.0.26
#addin nuget:?package=AsyncRedisModels&version=1.0.0.26
#tool nuget:?package=AsyncRedisModels&version=1.0.0.26
Async Redis Models
A better; smarter and faster way to interact with Redis. While RediJson allows access to json models, direct hash calls remain the best way to maximize performance on Redis.
Easily perform complex queries using linq and partially load/update your models.
Setup
Initialize Redis Connection
Start by initializing the Redis connection with your Redis server details:
RedisSingleton.Initialize("your-redis-host", port, "your-password");
Basic Usage
Create a New Entity
var character = await RedisRepository.CreateAsync<Character>();
Load an Entity from Redis
character = await RedisRepository.LoadAsync<Character>(character.Id);
Update and Persist Data
character.Username = "myUsername";
await character.PushAsync(s => s.Username);
Retrieve Updated Data
await character.PullAsync(s => s.Username);
Console.WriteLine(character.Username); // Output the updated Username
Query Data
var query = new RedisQuery<Character>();
var results = await query.Where(s => s.Username == "myUsername").SelectAsync();
Model Definition
Character Model
public class Character : IAsyncModel
{
[Indexed(IndexType.Tag)]
public string Username { get; set; }
public string Id { get; set; }
public DateTime CreatedAt { get; set; }
public string IndexName()
{
return "character";
}
}
Indexed
attribute can be used to index specific fields.Implements
IAsyncModel
for Redis interaction.
Key Operations
Push Data to Redis
await character.PushAsync(s => s.Username);
Pull Data from Redis
await character.PullAsync(s => s.Username);
Delete an Entity
await character.DeleteAsync();
Increment a Value
await character.IncrementAsync(s => s.myNumber);
Batch Operations
Create Multiple Entities
var characters = await RedisRepository.CreateManyAsync<Character>(100);
Load Multiple Entities
var characters = await RedisRepository.LoadManyAsync<Character>(new[] { "id1", "id2" });
Error Handling
Exceptions are thrown if Redis interactions fail (e.g., if an entity with the same ID already exists).
Extensions
PushAsync : Save model properties to Redis.
PullAsync : Retrieve model properties from Redis.
IncrementAsync : Increment numeric properties atomically.
Notes
RedisSingleton handles the Redis connection and is used for all database operations.
Models must implement
IAsyncModel
for seamless integration with Redis.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Newtonsoft.Json (>= 13.0.3)
- RediSearchClient (>= 2.4.0)
- StackExchange.Redis (>= 2.8.31)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on AsyncRedisModels:
Package | Downloads |
---|---|
BetterRedisIdentity
A better way to use Redis and Identity together. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated | |
---|---|---|---|
1.0.0.26 | 1,412 | 4 months ago |