NETCore.RedisKit

StackExchange.Redis extensions tool. Easy use redis in asp.net core.


Keywords
StackExchange.Redis, ASP.NETCore, asp-net-core, redis, stackexchange-redis
License
MIT
Install
Install-Package NETCore.RedisKit -Version 2.0.1-beta2

Documentation

NETCore.RedisKit

StackExchange.Redis Tools. Easy use redis in your asp.net core project.

Install with nuget

To install NETCore.RedisKit, run the following command in the Package Manager Console

Install-Package NETCore.RedisKit -Version 2.0.1-beta2

RedisKit Options

Configuration string ConfigurationOptions Default Meaning
endPoints={string} EndPoints -- Redis server endPoint string,multi endPoint split with ',' like '127.0.0.1:6379,127.0.0.1:6380'
abortConnect={bool} AbortOnConnectFail truefalse on Azure) If true, Connect will not create a connection while no servers are available
allowAdmin={bool} AllowAdmin false Enables a range of commands that are considered risky
channelPrefix={string} ChannelPrefix null Optional channel prefix for all pub/sub operations
connectRetry={int} ConnectRetry 3 The number of times to repeat connect attempts during initial Connect
connectTimeout={int} ConnectTimeout 1000 Timeout (ms) for connect operations
configChannel={string} ConfigurationChannel __Booksleeve_MasterChanged Broadcast channel name for communicating configuration changes
defaultDatabase={int?} DefaultDatabase null Default database index, from 0 to databases - 1
keepAlive={int} KeepAlive 180 Time (seconds) at which to send a message to help keep sockets alive
name={string} ClientName null Identification for the connection within redis
password={string} Password null Password for the redis server
proxy={proxy type} Proxy Proxy.None Type of proxy in use (if any); for example “twemproxy”
resolveDns={bool} ResolveDns false Specifies that DNS resolution should be explicit and eager, rather than implicit
serviceName={string} ServiceName null Not currently implemented (intended for use with sentinel)
ssl={bool} Ssl false Specifies that SSL encryption should be used
sslHost={string} SslHost null Enforces a particular SSL host identity on the server’s certificate
sslProtocols={enum?} SslProtocols null Ssl/Tls versions supported when using an encrypted connection. Use ‘|’ to provide multiple values.
syncTimeout={int} SyncTimeout 1000 Time (ms) to allow for synchronous operations
tiebreaker={string} TieBreaker __Booksleeve_TieBreak Key to use for selecting a server in an ambiguous master scenario
version={string} DefaultVersion (3.0 in Azure, else 2.0) Redis version level (useful when the server does not make this available)
writeBuffer={int} WriteBuffer 4096 Size of the output buffer
IsShowLog={bool} IsShowLog false Cusotm options to show log

Add RedisKit Service

public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddMvc();

    // Add redis service
    services.AddRedisKit(options =>
    {
	options.EndPoints = "127.0.0.1:6379";
    });
}

RedisService Use

private readonly IRedisService _RedisService;
public HomeController(IRedisService redisService)
{
    _RedisService = redisService;
}

public IActionResult Index()
{
    _RedisService.ItemSet("hello", "world");
    _RedisService.ItemGet<string>("hello");
    return View();
}

RedisProvider Use

private readonly IRedisProvider _RedisProvider;
public ValuesController(IRedisProvider redisProvider)
{
    _RedisProvider = redisProvider;
}

// GET: api/values
[HttpGet]
public string Get()
{
    var redis = _RedisProvider.Redis;
    var db = redis.GetDatabase();
    return db.StringGet("hello");
    
}

LICENSE

MIT