Admin.Core/src/platform/ZhonTai.Admin/Tools/Cache/MemoryCacheTool.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Microsoft.Extensions.Caching.Memory;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using ZhonTai.Common.Extensions;

namespace ZhonTai.Admin.Tools.Cache;

/// <summary>
/// 内存缓存
/// </summary>
public class MemoryCacheTool : ICacheTool
{
    private readonly IMemoryCache _memoryCache;
    public MemoryCacheTool(IMemoryCache memoryCache)
    {
        _memoryCache = memoryCache;
    }

    public long Del(params string[] key)
    {
        foreach (var k in key)
        {
            _memoryCache.Remove(k);
        }
        return key.Length;
    }

    public Task<long> DelAsync(params string[] key)
    {
        foreach (var k in key)
        {
            _memoryCache.Remove(k);
        }

        return Task.FromResult(key.Length.ToLong());
    }

    public async Task<long> DelByPatternAsync(string pattern)
    {
        if (pattern.IsNull())
            return default;

        pattern = Regex.Replace(pattern, @"\{.*\}", "(.*)");

        var keys = GetAllKeys().Where(k => Regex.IsMatch(k, pattern));

        if (keys != null && keys.Count() > 0)
        {
            return await DelAsync(keys.ToArray());
        }

        return default;
    }

    public bool Exists(string key)
后面还有 96 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。