AsyncRedisModels 1.0.0.26

Suggested Alternatives

Redis.Sharp

dotnet add package AsyncRedisModels --version 1.0.0.26
                    
NuGet\Install-Package AsyncRedisModels -Version 1.0.0.26
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AsyncRedisModels" Version="1.0.0.26" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AsyncRedisModels" Version="1.0.0.26" />
                    
Directory.Packages.props
<PackageReference Include="AsyncRedisModels" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AsyncRedisModels --version 1.0.0.26
                    
#r "nuget: AsyncRedisModels, 1.0.0.26"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AsyncRedisModels@1.0.0.26
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AsyncRedisModels&version=1.0.0.26
                    
Install as a Cake Addin
#tool nuget:?package=AsyncRedisModels&version=1.0.0.26
                    
Install as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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 1.0.0.26 is deprecated because it is no longer maintained.