国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

緩存服務器的建立原理分析第1/2頁

2019-11-02 16:36:16
字體:
來源:轉載
供稿:網友
 1概述

通常情況下我們運行程序的過程中會產生一些中間數據,這些中間數據需要在將來的某個時間讀取。這就要求我們要把它存在一個提供高速存取的地方,最好的選擇就是內存中。基于這個以及多個原因需要我們把這部分存儲到其他機器上,這樣就產生了分布式緩存的問題。

實際上分布式緩存根本上就是提供一個附加內存讓另一臺機器幫忙存儲和查找數據。

2實現方法

首先建立一個集合對象,該集合對象應保證線程安全。代碼如下所示

Code

1 public static class MemObject

2 {

3 static MemObject()

4 {

5 MemObjl = new Dictionary<string, object>();

6 }

7

8 public static Dictionary<string, object> Get()

9 {

10 if (MemObjl == null)

11 MemObjl = new Dictionary<string, object>();

12 return MemObjl;

13 }

14

15 public static void Add(string key, object obj)

16 {

17 Dictionary<string, object> obg = Get();

18 if (!obg.ContainsKey(key))

19 obg.Add(key, obj);

20 }

21

22 public static void Remove(string key)

23 {

24 Get().Remove(key);

25 }

26

27 public static int Count()

28 {

29 return Get().Count;

30 }

31

32 public static object Get(string key)

33 {

34 Dictionary<string, object> obg = Get();

35 if (obg.ContainsKey(key))

36 return obg[key];

37 return null;

38 }

39

40 public static bool Exits(string key)

41 {

42 return Get().ContainsKey(key);

43 }

44

45 private static Dictionary<string, object> MemObjl;

46 }

接著我們把它包裝起來可以通過遠程調用,代碼如下

Code

1 public class DataCatcher : MarshalByRefObject, ICarrier.ICarrier

2 {

3 public void Set(string key, object value)

4 {

5 //if (Exits(key))

6 // Remove(key);

7 //MemObjl.Add(key, value);

8 MemObject.Add(key, value);

9 }

10

11 public bool Exits(string key)

12 {

13 return MemObject.Exits(key);

14 }

15

16 public void Remove(string key)

17 {

18 MemObject.Remove(key);

19 }

20

21 public int Count()

22 {

23 return MemObject.Count();

24 }

25

26 public object Get(string key)

27 {

28 return MemObject.Get(key);

29 }

30 }

為了避免我們的業務邏輯泄露我們向客戶端提供接口以便調用

Code

1 public interface ICarrier

2 {

3

4 void Remove(string key);

5

6 bool Exits(string key);

7

8 void Set(string key,object value);

9

10 object Get(string key);

11

12 int Count();

13 }

當前1/2頁 12下一頁閱讀全文
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 道真| 南郑县| 陆良县| 璧山县| 淅川县| 平阴县| 黑水县| 延庆县| 霍林郭勒市| 漠河县| 宜城市| 固镇县| 丹寨县| 临武县| 七台河市| 宽城| 文成县| 疏勒县| 铜梁县| 乌什县| 龙山县| 裕民县| 江都市| 嵊泗县| 永修县| 惠来县| 县级市| 桂林市| 东阳市| 黄骅市| 威信县| 普兰县| 儋州市| 大连市| 柞水县| 平阳县| 克什克腾旗| 罗定市| 兴义市| 惠安县| 策勒县|