Net.Cache.DynamoDb 1.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Net.Cache.DynamoDb --version 1.1.0
NuGet\Install-Package Net.Cache.DynamoDb -Version 1.1.0
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="Net.Cache.DynamoDb" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Net.Cache.DynamoDb --version 1.1.0
#r "nuget: Net.Cache.DynamoDb, 1.1.0"
#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.
// Install Net.Cache.DynamoDb as a Cake Addin
#addin nuget:?package=Net.Cache.DynamoDb&version=1.1.0

// Install Net.Cache.DynamoDb as a Cake Tool
#tool nuget:?package=Net.Cache.DynamoDb&version=1.1.0

Net.Cache.DynamoDb

Overview

Net.Cache.DynamoDb extends the capabilities of the Net.Cache library by integrating with Amazon DynamoDB. This integration allows for the use of DynamoDB as a distributed, scalable, and highly available backend for caching operations.

Features

  • DynamoDB Integration: Leverages Amazon DynamoDB for storing and retrieving cache data.
  • Easy Configuration: Offers various initialization methods for the DynamoDB client.
  • Seamless Compatibility: Fully compatible with the Net.Cache library, providing DynamoDB as a storage option.

Getting Started

Installation

Install Net.Cache.DynamoDb via NuGet along with Net.Cache

Defining DynamoDB Models

To use DynamoDbStorageProvider, you need to define models representing your DynamoDB tables:

using Amazon.DynamoDBv2.DataModel;

[DynamoDBTable("MyTableName")]
public class MyTable
{
    [DynamoDBHashKey] // Partition key
    public string Id { get; set; }

    [DynamoDBProperty("MyCustomNameIfNeeded")] // Optional custom property name
    public string SomeProperty { get; set; }

    // Other properties as needed
}

Usage

Initializing DynamoDbStorageProvider

Create an instance of DynamoDbStorageProvider<TKey, TValue> using one of the following methods:

  1. Default Initialization:
var dynamoDbProvider = new DynamoDbStorageProvider<int, MyTable>();
  1. Custom DynamoDB Client:
var customClient = new AmazonDynamoDBClient(...);
var dynamoDbProvider = new DynamoDbStorageProvider<int, MyTable>(customClient);
  1. Custom DynamoDB Context:
var customContext = new DynamoDBContext(customClient);
var dynamoDbProvider = new DynamoDbStorageProvider<int, MyTable>(customContext);
Integrating with Net.Cache
var cache = new CacheProvider<int, MyTable>(dynamoDbProvider);
Storing and Retrieving Data
// Store a value
cache.Store(1, new MyTable { Id = "1", SomeProperty = "Value" });

// Retrieve a value
if (cache.TryGetValue(1, out var myTableInstance)) {
    // Use myTableInstance
}
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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. 
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 Net.Cache.DynamoDb:

Package Downloads
Net.Cache.DynamoDb.ERC20

A specialized extension of `Net.Cache.DynamoDb` package, for caching ERC20 token information in Amazon DynamoDB.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.3.1 382 3/20/2024
1.3.0 487 3/19/2024
1.2.2 662 2/9/2024
1.2.1 658 2/8/2024
1.2.0 117 2/7/2024
1.1.0 107 1/15/2024
1.0.0 253 12/4/2023

- Instead of `AbstractDynamoDbStorageProvider` this library provides already done implementation in `DynamoDbStorageProvider` class.

Full changes can found here: https://github.com/The-Poolz/Net.Cache/releases/tag/v1.1.0