<?xml version="1.0"?>
<doc>
    <assembly>
        <name>SafeCampus.Cache</name>
    </assembly>
    <members>
        <member name="T:SafeCampus.Cache.CacheConst">
            <summary>
            Redis常量
            </summary>
        </member>
        <member name="F:SafeCampus.Cache.CacheConst.CACHE_PREFIX_WEB">
            <summary>
            Redis Key前缀(可删除)
            </summary>
        </member>
        <member name="F:SafeCampus.Cache.CacheConst.CACHE_PREFIX">
            <summary>
            Redis Key前缀(需要持久化，不随系统重启删除)
            </summary>
        </member>
        <member name="F:SafeCampus.Cache.CacheConst.CACHE_HASH">
            <summary>
            Redis Hash类型
            </summary>
        </member>
        <member name="F:SafeCampus.Cache.CacheConst.CACHE_USER_TOKEN">
            <summary>
            用户Token缓存Key
            </summary>
        </member>
        <member name="T:SafeCampus.Cache.ISimpleCacheService">
            <summary>
            缓存服务
            </summary>
            <summary>
            缓存服务
            </summary>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.HashAdd``1(System.String,System.String,``0)">
            <summary>
            添加一条数据到HashMap
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key">键</param>
            <param name="hashKey">hash列表里的Key</param>
            <param name="value">值</param>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.HashSet``1(System.String,System.Collections.Generic.Dictionary{System.String,``0})">
            <summary>
            添加多条数据到HashMap
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key">键</param>
            <param name="dic">键值对字典</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.HashDel``1(System.String,System.String[])">
            <summary>
            从HashMap中删除数据
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key">键</param>
            <param name="fields">hash键列表</param>
            <returns>执行结果</returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.HashGet``1(System.String,System.String[])">
            <summary>
            根据键获取hash列表中的值
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key">键</param>
            <param name="fields">hash键列表</param>
            <returns>数据列表</returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.HashGetOne``1(System.String,System.String)">
            <summary>
            根据键获取hash列表中的值
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key">键</param>
            <param name="field">hash键</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.HashGetAll``1(System.String)">
            <summary>
            获取所有键值对
            </summary>
            <typeparam name="T"></typeparam>
            <param name="key">键</param>
            <returns>数据字典</returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.ContainsKey(System.String)">
            <summary>是否包含缓存项</summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.Set``1(System.String,``0,System.Int32)">
            <summary>设置缓存项</summary>
            <param name="key">键</param>
            <param name="value">值</param>
            <param name="expire">过期时间，秒。小于0时采用默认缓存时间</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.Set``1(System.String,``0,System.TimeSpan)">
            <summary>设置缓存项</summary>
            <param name="key">键</param>
            <param name="value">值</param>
            <param name="expire">过期时间</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.Get``1(System.String)">
            <summary>获取缓存项</summary>
            <param name="key">键</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.Remove(System.String[])">
            <summary>批量移除缓存项</summary>
            <param name="keys">键集合</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.Clear">
            <summary>清空所有缓存项</summary>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.SetExpire(System.String,System.TimeSpan)">
            <summary>设置缓存项有效期</summary>
            <param name="key">键</param>
            <param name="expire">过期时间</param>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.GetExpire(System.String)">
            <summary>获取缓存项有效期</summary>
            <param name="key">键</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.DelByPattern(System.String)">
            <summary>
            模糊删除
            </summary>
            <param name="pattern">匹配关键字</param>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.GetAll``1(System.Collections.Generic.IEnumerable{System.String})">
            <summary>批量获取缓存项</summary>
            <typeparam name="T"></typeparam>
            <param name="keys"></param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.SetAll``1(System.Collections.Generic.IDictionary{System.String,``0},System.Int32)">
            <summary>批量设置缓存项</summary>
            <typeparam name="T"></typeparam>
            <param name="values"></param>
            <param name="expire">过期时间，秒。小于0时采用默认缓存时间</param>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.GetList``1(System.String)">
            <summary>获取列表</summary>
            <typeparam name="T">元素类型</typeparam>
            <param name="key">键</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.GetDictionary``1(System.String)">
            <summary>获取哈希</summary>
            <typeparam name="T">元素类型</typeparam>
            <param name="key">键</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.GetQueue``1(System.String)">
            <summary>获取队列</summary>
            <typeparam name="T">元素类型</typeparam>
            <param name="key">键</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.GetStack``1(System.String)">
            <summary>获取栈</summary>
            <typeparam name="T">元素类型</typeparam>
            <param name="key">键</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.GetSet``1(System.String)">
            <summary>获取Set</summary>
            <typeparam name="T"></typeparam>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.Add``1(System.String,``0,System.Int32)">
            <summary>添加，已存在时不更新</summary>
            <typeparam name="T">值类型</typeparam>
            <param name="key">键</param>
            <param name="value">值</param>
            <param name="expire">过期时间，秒。小于0时采用默认缓存时间</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.Replace``1(System.String,``0)">
            <summary>设置新值并获取旧值，原子操作</summary>
            <remarks>
            常常配合Increment使用，用于累加到一定数后重置归零，又避免多线程冲突。
            </remarks>
            <typeparam name="T">值类型</typeparam>
            <param name="key">键</param>
            <param name="value">值</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.TryGetValue``1(System.String,``0@)">
            <summary>尝试获取指定键，返回是否包含值。有可能缓存项刚好是默认值，或者只是反序列化失败，解决缓存穿透问题</summary>
            <typeparam name="T">值类型</typeparam>
            <param name="key">键</param>
            <param name="value">值。即使有值也不一定能够返回，可能缓存项刚好是默认值，或者只是反序列化失败</param>
            <returns>返回是否包含值，即使反序列化失败</returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.Increment(System.String,System.Int64)">
            <summary>累加，原子操作</summary>
            <param name="key">键</param>
            <param name="value">变化量</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.Increment(System.String,System.Double)">
            <summary>累加，原子操作</summary>
            <param name="key">键</param>
            <param name="value">变化量</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.Decrement(System.String,System.Int64)">
            <summary>递减，原子操作</summary>
            <param name="key">键</param>
            <param name="value">变化量</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.Decrement(System.String,System.Double)">
            <summary>递减，原子操作</summary>
            <param name="key">键</param>
            <param name="value">变化量</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.Commit">
            <summary>提交变更。部分提供者需要刷盘</summary>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.AcquireLock(System.String,System.Int32)">
            <summary>申请分布式锁</summary>
            <param name="key">要锁定的key</param>
            <param name="msTimeout">锁等待时间，单位毫秒</param>
            <returns></returns>
        </member>
        <member name="M:SafeCampus.Cache.ISimpleCacheService.AcquireLock(System.String,System.Int32,System.Int32,System.Boolean)">
            <summary>申请分布式锁</summary>
            <param name="key">要锁定的key</param>
            <param name="msTimeout">锁等待时间，申请加锁时如果遇到冲突则等待的最大时间，单位毫秒</param>
            <param name="msExpire">锁过期时间，超过该时间如果没有主动释放则自动释放锁，必须整数秒，单位毫秒</param>
            <param name="throwOnFailure">失败时是否抛出异常，如果不抛出异常，可通过返回null得知申请锁失败</param>
            <returns></returns>
        </member>
        <member name="T:SafeCampus.Cache.CacheSettingsOptions">
            <summary>
            缓存设置
            </summary>
        </member>
        <member name="P:SafeCampus.Cache.CacheSettingsOptions.UseRedis">
            <summary>
            使用Redis
            </summary>
        </member>
        <member name="P:SafeCampus.Cache.CacheSettingsOptions.RedisSettings">
            <summary>
            Redis设置
            </summary>
        </member>
        <member name="T:SafeCampus.Cache.RedisSettings">
            <summary>
            Redis设置
            </summary>
        </member>
        <member name="P:SafeCampus.Cache.RedisSettings.Address">
            <summary>
            连接地址
            </summary>
        </member>
        <member name="P:SafeCampus.Cache.RedisSettings.Password">
            <summary>
            密码
            </summary>
        </member>
        <member name="P:SafeCampus.Cache.RedisSettings.Db">
            <summary>
            数据库
            </summary>
        </member>
        <member name="P:SafeCampus.Cache.RedisSettings.ClearRedis">
            <summary>
            是否每次启动都清空
            </summary>
        </member>
        <member name="T:SafeCampus.Cache.MemoryCacheService">
            <summary>
            <inheritdoc cref="T:SafeCampus.Cache.ISimpleCacheService"/>
            内存缓存
            </summary>
            <summary>
            <inheritdoc cref="T:SafeCampus.Cache.ISimpleCacheService"/>
            内存缓存
            </summary>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.HashAdd``1(System.String,System.String,``0)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.HashSet``1(System.String,System.Collections.Generic.Dictionary{System.String,``0})">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.HashDel``1(System.String,System.String[])">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.HashGet``1(System.String,System.String[])">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.HashGetOne``1(System.String,System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.HashGetAll``1(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.Get``1(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.Remove(System.String[])">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.Set``1(System.String,``0,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.Set``1(System.String,``0,System.TimeSpan)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.SetExpire(System.String,System.TimeSpan)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.GetExpire(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.ContainsKey(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.Clear">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.DelByPattern(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.GetAll``1(System.Collections.Generic.IEnumerable{System.String})">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.SetAll``1(System.Collections.Generic.IDictionary{System.String,``0},System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.GetDictionary``1(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.GetQueue``1(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.GetStack``1(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.GetSet``1(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.Add``1(System.String,``0,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.GetList``1(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.Replace``1(System.String,``0)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.TryGetValue``1(System.String,``0@)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.Decrement(System.String,System.Int64)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.Decrement(System.String,System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.Increment(System.String,System.Int64)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.Increment(System.String,System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.Commit">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.AcquireLock(System.String,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.MemoryCacheService.AcquireLock(System.String,System.Int32,System.Int32,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:SafeCampus.Cache.RedisCacheService">
            <summary>
            <inheritdoc cref="T:SafeCampus.Cache.ISimpleCacheService"/>
            Redis缓存
            </summary>
            <summary>
            <inheritdoc cref="T:SafeCampus.Cache.ISimpleCacheService"/>
            Redis缓存
            </summary>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.HashAdd``1(System.String,System.String,``0)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.HashSet``1(System.String,System.Collections.Generic.Dictionary{System.String,``0})">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.HashDel``1(System.String,System.String[])">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.HashGet``1(System.String,System.String[])">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.HashGetOne``1(System.String,System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.HashGetAll``1(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.Get``1(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.Remove(System.String[])">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.Set``1(System.String,``0,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.Set``1(System.String,``0,System.TimeSpan)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.SetExpire(System.String,System.TimeSpan)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.GetExpire(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.ContainsKey(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.Clear">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.DelByPattern(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.GetAll``1(System.Collections.Generic.IEnumerable{System.String})">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.SetAll``1(System.Collections.Generic.IDictionary{System.String,``0},System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.GetDictionary``1(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.GetQueue``1(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.GetStack``1(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.GetSet``1(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.Add``1(System.String,``0,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.GetList``1(System.String)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.Replace``1(System.String,``0)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.TryGetValue``1(System.String,``0@)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.Decrement(System.String,System.Int64)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.Decrement(System.String,System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.Increment(System.String,System.Int64)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.Increment(System.String,System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.Commit">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.AcquireLock(System.String,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:SafeCampus.Cache.RedisCacheService.AcquireLock(System.String,System.Int32,System.Int32,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:SafeCampus.Cache.Startup">
            <summary>
            AppStartup启动类
            </summary>
        </member>
        <member name="M:SafeCampus.Cache.Startup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
            <summary>
            ConfigureServices中不能解析服务，比如App.GetService()，尤其是不能在ConfigureServices中获取诸如缓存等数据进行初始化，应该在Configure中进行
            服务都还没初始化完成，会导致内存中存在多份 IOC 容器！！
            正确应该在 Configure 中，这个时候服务（IServiceCollection 已经完成 BuildServiceProvider() 操作了
            </summary>
            <param name="services"></param>
        </member>
    </members>
</doc>
