跳到主要内容
版本:2.0

Redis缓存

定义

命名空间:TouchSocket.Dmtp
程序集:TouchSocket.Dmtp.dll

一、说明

REmote DIctionary Server(Redis) 是一个key-value存储系统,也是一个简单的非关系型数据库。

警告

此组件是基于Dmtp协议的Redis。所以无法连接到常规Redis中。但是此组件无论是扩展性还是性能,都是远胜常规Redis的。

二、使用

Redis是由RedisFeature功能插件提供的,所以需要添加UseDmtpRedis

.ConfigurePlugins(a =>
{
a.UseDmtpRedis();//添加Redis功能插件
})

【请求端】

var client = GetTcpDmtpClient();

//获取Redis
var redis = client.GetDmtpRedisActor();

//执行Set
var result = redis.Set("1", "1");
client.Logger.Info($"Set result={result}");
client.Logger.Info($"ContainsCache result={redis.ContainsCache("1")}");

//执行Get
var result1 = redis.Get<string>("1");
client.Logger.Info($"Get result={result}");

//执行Remove
result = redis.RemoveCache("1");
client.Logger.Info($"Get result={result}");
redis.ClearCache();

三、缓存持久化

默认情况下,Redis组件会使用MemoryCache<string, byte[]>作为实际储存。所以要实现缓存持久化,只需要替换该缓存、或者保存该缓存即可。

.ConfigurePlugins(a =>
{
a.UseDmtpRedis()//必须添加Redis访问插件
.SetCache(new MemoryCache<string, byte[]>());//这里可以设置缓存持久化,此处仍然是使用内存缓存。
})

本文示例Demo