解决MySql布尔型新旧版本兼容问题,采用枚举来表示布尔型的数据表。由正向工程赋值
大石头 authored at 2018-05-15 21:21:05
1.04 KiB
X
using NewLife.Caching;
using NewLife.Data;
using NewLife.Security;
using Xunit;

namespace XUnitTest.Caching;

/// <summary>MemoryCache 大容量保存测试</summary>
/// <remarks>
/// 与 <see cref="MemoryCacheTests"/> 拆成两个类是为了并行:两个用例各写入 10 万项并落盘,
/// 同在一个类内串行执行需要数秒,独立成集合后可与其它的缓存用例并行。
/// 容量取 10 万:足以覆盖分块与压缩路径,又不会在多目标框架并行运行时长时间占用CPU。
/// </remarks>
public class MemoryCacheBigSaveTests
{
    [Theory]
    [InlineData(false)]
    [InlineData(true)]
    public void BigSave(Boolean compressed)
    {
        var mc = new MemoryCache();

        for (var i = 0; i < 100_000; i++)
        {
            var ga = new GeoArea { Code = Rand.Next(100000, 999999), Name = Rand.NextString(8) };
            mc.Set(ga.Name, ga);
        }

        if (compressed)
            mc.Save("data/bigsave.gz", true);
        else
            mc.Save("data/bigsave.cache", false);
    }
}