首页 > 其他 > 详细

用泛型类实现缓存

时间:2021-01-07 15:50:47      阅读:17      评论:0      收藏:0      [点我收藏+]

在实现缓存的时候,我们很多时候采用的是  IDictionary < Tkey,TValue > 实现的,但是我们还可以采用一个更好的方式实现缓存,性能还比较好,物美价廉,泛型缓存。

我们首先写一个泛型类:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApp1
{
    public class GenericClass<T>
    {
        private static string GenericCache = null;
        static GenericClass() //静态类,在泛型类第一次传入具体的类型进来的时候,执行。
        {
            GenericCache = $"{typeof(T).FullName}";
        }
        public static string GetData()
        {
            return GenericCache;
        }
    }
}

测试:

using System;
using System.Collections.Generic;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
           
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine($"begin--------{i}--------");

                Console.WriteLine(typeof(GenericClass<int>)); //查看类型的名称
                Console.WriteLine(typeof(GenericClass<string>)); //查看类型的名称
                Console.WriteLine(typeof(GenericClass<DateTime>)); //查看类型的名称
                Console.WriteLine(typeof(GenericClass<object>)); //查看类型的名称

                Console.WriteLine($"end--------{i}--------");

                Console.WriteLine($"");
                Console.WriteLine($"");
                Console.WriteLine($"");
            }
            Console.ReadLine();
        }
    }
}

运行结果:

技术分享图片

根据结果得出:颜色相同的类型全是一样的。

在循环第一次时,已经为每种类型生成了副本,当第二次循环时,直接使用之前的对象。

用泛型类实现缓存

原文:https://www.cnblogs.com/huaan011/p/14246431.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!