Installing and running Stackexchange.Redis client library on Linux environments
Overview
StackExchange.Redis is a high performance general purpose redis client for .NET languages (C#, etc.), and is designed for Windows / .NET SDK environments.
On other hand, it is possible now install .NET SDK and run PowerShell commands on Linux environments.
This article describes how to install and link all together to have a Linux environment to run some commands and connect to any Redis service using StackExchange.Redis client library.
This can be used for test proposes, and there are no support to run this on production.
Try and test this at your own risk and responsibility.
This was tested on Linux Ubuntu v20.04.02 LTS, .NET SDK v7.0.403, Stackexchange.Redis v2.7.4, and PowerShell v7.3.9.0.
There are no guarantees this will work with all scenarios and versions.
StackExchange.Redis features
- High performance multiplexed design, allowing for efficient use of shared connections from multiple calling threads
- Abstraction over redis node configuration: the client can silently negotiate multiple redis servers for robustness and availability
- Convenient access to the full redis feature-set
- Full dual programming model both synchronous and asynchronous usage, without requiring “sync over async” usage of the TPL
- Support for redis “cluster”
StackExchange.Redis implementation on Linux Ubuntu
To have a working scenario on a Linux VM , be able to connect to some Redis server using StackExchange.Redis client library, follow these steps:
- Import the Microsoft repository
- If needed, Installing PowerShell on Ubuntu - PowerShell | Microsoft Learn
- Install the .NET SDK
Open a terminal and run the following commands to install the .NET Core SDK on your Ubuntu 20.04 system.
You can also choose a different version of the .NET SDK, but version 3.1, is compatible with StackExchange.Redis.
- Create a project directory:
Create a directory for your project, navigate to it, and create a PowerShell script file with a .ps1 extension.
- Install the StackExchange.Redis library:
This will create a basic .NET Core console application and add the StackExchange.Redis package to your project.
- Edit your PowerShell script:
Open the connect-redis.ps1 script in a text editor (ex: vi) and add your PowerShell code to connect to the Redis server, using the StackExchange.Redis library.
6. Run your PowerShell script:
Useful commands:
To check Linux distribution and version:
To check PowerShell installed version:
To check installed .NET SDKs on your system:
To check Stackexchange.Redis installed version:
To check default .NET SDK version
To rebuild your project, if needed, and to check the path for StackExchange.Redis.dll provided in the PS script (**)
(**) You should obtain something like this:
my-redis-project -> /home/<user>/my-redis-project/bin/Debug/net7.0/my-redis-project.dll
StackExchange.Redis.dll should be in the same path
Install the required .NET dependencies, if needed:
Check the .ps1 file content for any typo:
Update StackExchange.Redis, if needed:
Conclusion:
Despite the target of this article describes not being to deploy solutions for production environments, this is a good way to test connectivity and run some Redis commands on a Redis service, from Linux environments, using Stackexchange.Redis client library.
I hope this can be useful!!!
Related documentation:
StackExchange.Redis versions
StackExchange.Redis release notes
Installing PowerShell on Ubuntu - PowerShell | Microsoft Learn
Published on:
Learn moreWe can help you with Installing and running Stackexchange.Redis client library on Linux environments
If you want help implementing, troubleshooting, or improving this product, contact us and we’ll point you in the right direction.
Related posts
Azure Storage - TLS 1.0 and 1.1 retirement
Overview TLS 1.0 and 1.1 retirement on Azure Storage was previously announced for Nov 1st, 2024, and it was postponed recently to 1 year later...
Efficient Management of Append and Page Blobs Using Azure Storage Actions
Overview In Azure Storage, Blob Lifecycle Management (BLM) allows you to automate the management of your data based on rules defined by...
[Azure AI Search] Internal Server Error when creating CMK encrypted objects
Scenario Customers follow the Microsoft doc to create CMK encrypted objects (data source, index etc.), but get the 500 Internal Serv...
Optimizing Azure Table Storage: Automated Data Cleanup using a PowerShell script with Azure Automate
Scenario This blog’s aim is to manage Table Storage data efficiently. Imagine you have a large Azure Table Storage that accumulates logs from ...
Optimizing Azure Table Storage: Automated Data Clean-up using a PowerShell script with Azure Automat
Scenario This blog’s aim is to manage Table Storage data efficiently. Imagine you have a large Azure Table Storage that accumulates logs from ...
Restoring Soft-Deleted Blobs with multithreading in Azure Storage Using C#
Blob soft delete is an essential feature that safeguards your data against accidental deletions or overwrites. By retaining deleted data for a...
Performing simple Azure Table Storage REST API operations using curl command.
The blog provides guidance to perform simple Table Storage REST API operations such as Create table, Delete Table, Insert entity, Delete entit...
Bulk delete all the old jobs from the batch account
Deleting a Job also deletes all Tasks that are part of that Job, and all Job statistics. This also overrides the retention period for Task dat...
Utilizing Azure Storage and Runbooks for scheduled automated backups of Azure SQL Databases
In this article, we are going to provide detailed steps to create a scheduled Azure SQL Database backup to storage account using automation. T...
[Azure Service Bus] JMS messages getting dead-lettered
The article discusses a problem where numerous messages end up in the dead letter queue (DLQ) when the JMS service bus consumer connects to th...