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[]>());//这里可以设置缓存持久化,此处仍然是使用内存缓存。
})