Skip to content

這是一個實驗計畫,主要就是能夠快速使用 Key , Value 存取資料

Notifications You must be signed in to change notification settings

donma/Tatakosan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tatakosan

這是一個實驗計畫,主要就是能夠快速使用 Key , Value 存取資料,主要資料庫我是使用 Azure Storage Table ,因為他很便宜(該死的客家人本性)

除了單純寫入 Azure Storage Table 之外,我還有做記憶體快取,讓存取速度可以正常,這裡我是 base on .netcore 3.1

已經派上用場一些時間了想說就分享一下

這邊簡單測試過大量寫入下的穩定性,如果有任何問題就在跟我一起交流交流吧。

順帶一提,這不支持 scale out 的狀況,如果有兩台機器要小心快取在記憶體中的資料不同步問題。

Dependency :

Microsoft.Azure.Cosmos.Table

Newtonsoft.Json

No2vers.AzureTable


How To Start?

in Startup.cs

        /// <summary>
        /// Azure Blob Table Connection String.
        /// </summary>
        public static readonly string _BlobConnectionString = "DefaultEndpointsProtocol=https;AccountName=...";


        /// <summary>
        /// /api/Op/ClearPool?token=token  的token
        /// </summary>
        public readonly static string ClearToken = "token";


        public readonly static string HashToken = "TATAKOSAN";

        /// <summary>
        /// 五分鐘請檢查一下快取有沒有過期
        /// </summary>
        private readonly static int RecycleMinutes = 5;

        /// <summary>
        ///  如果 60 秒,都沒有人請求,在進行回收
        /// </summary>
        private readonly static int HowManySecondsNoDataRequest = 60;

        /// <summary>
        /// 如果多少分鐘沒有人存取就回收
        /// default : 4hr * 60=2400;
        /// </summary>
        private readonly static int KeepMinutesInMemory = 2400;
       

Simple Swagger Document:

https://tatakosandoc.azurewebsites.net/tversion2/

About

這是一個實驗計畫,主要就是能夠快速使用 Key , Value 存取資料

Topics

Resources

Stars

Watchers

Forks