最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

緩存服務(wù)器的建立原理分析第1/2頁(yè)

 更新時(shí)間:2008年10月10日 09:51:09   作者:  
通常情況下我們運(yùn)行程序的過(guò)程中會(huì)產(chǎn)生一些中間數(shù)據(jù),這些中間數(shù)據(jù)需要在將來(lái)的某個(gè)時(shí)間讀取。這就要求我們要把它存在一個(gè)提供高速存取的地方,最好的選擇就是內(nèi)存中。
 1概述
通常情況下我們運(yùn)行程序的過(guò)程中會(huì)產(chǎn)生一些中間數(shù)據(jù),這些中間數(shù)據(jù)需要在將來(lái)的某個(gè)時(shí)間讀取。這就要求我們要把它存在一個(gè)提供高速存取的地方,最好的選擇就是內(nèi)存中?;谶@個(gè)以及多個(gè)原因需要我們把這部分存儲(chǔ)到其他機(jī)器上,這樣就產(chǎn)生了分布式緩存的問(wèn)題。
實(shí)際上分布式緩存根本上就是提供一個(gè)附加內(nèi)存讓另一臺(tái)機(jī)器幫忙存儲(chǔ)和查找數(shù)據(jù)。
2實(shí)現(xiàn)方法
首先建立一個(gè)集合對(duì)象,該集合對(duì)象應(yīng)保證線程安全。代碼如下所示
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 }
接著我們把它包裝起來(lái)可以通過(guò)遠(yuǎn)程調(diào)用,代碼如下
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 }
為了避免我們的業(yè)務(wù)邏輯泄露我們向客戶端提供接口以便調(diào)用
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 }

相關(guān)文章

  • linux服務(wù)器磁盤滿了的三種解決方案

    linux服務(wù)器磁盤滿了的三種解決方案

    這篇文章主要給大家介紹了linux服務(wù)器磁盤滿了的三種解決方案,文章通過(guò)圖文結(jié)合的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-04-04
  • Linux?VNC安裝ssh后ssh無(wú)法登錄的解決方案

    Linux?VNC安裝ssh后ssh無(wú)法登錄的解決方案

    VNC?服務(wù)器不能使用?SSH?22?端口登錄的問(wèn)題可能由多種原因引起,本文給大家介紹了Linux?VNC安裝ssh后ssh無(wú)法登錄的解決方案,文中通過(guò)有詳細(xì)解決方案,需要的朋友可以參考下
    2024-11-11
  • 解決CentOS7虛擬機(jī)無(wú)法上網(wǎng)并設(shè)置CentOS7虛擬機(jī)使用靜態(tài)IP上網(wǎng)

    解決CentOS7虛擬機(jī)無(wú)法上網(wǎng)并設(shè)置CentOS7虛擬機(jī)使用靜態(tài)IP上網(wǎng)

    這篇文章主要介紹了解決CentOS7虛擬機(jī)無(wú)法上網(wǎng)并設(shè)置CentOS7虛擬機(jī)使用靜態(tài)IP上網(wǎng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Apache Commons DbUtils工具包使用介紹

    Apache Commons DbUtils工具包使用介紹

    這篇文章主要介紹了Apache Commons DbUtils工具包使用介紹,本文介紹了DBUtils是什么東西、熟悉DBUtils的一些問(wèn)題、API介紹等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • 一文教你如何快速排查Windows和Linux系統(tǒng)是否被黑

    一文教你如何快速排查Windows和Linux系統(tǒng)是否被黑

    這篇文章主要為大家詳細(xì)介紹了如何實(shí)現(xiàn)快速排查Windows和Linux系統(tǒng)是否被黑,文中通過(guò)圖文進(jìn)行了詳細(xì)介紹,需要的小伙伴可以參考一下
    2023-08-08
  • SSH的ssh-keygen命令基本用法詳解

    SSH的ssh-keygen命令基本用法詳解

    ssh-keygen可用來(lái)生成ssh公鑰認(rèn)證所需的公鑰和私鑰文件,本文為大家詳細(xì)介紹ssh-keygen的基本使用方法
    2018-10-10
  • Linux RabbitMQ 集群搭建流程圖解

    Linux RabbitMQ 集群搭建流程圖解

    在介紹RabbitMQ之前實(shí)現(xiàn)要介紹一下MQ,MQ是什么?MQ全稱是Message Queue,可以理解為消息隊(duì)列的意思,簡(jiǎn)單來(lái)說(shuō)就是消息以管道的方式進(jìn)行傳遞。RabbitMQ是一個(gè)實(shí)現(xiàn)了AMQP(Advanced Message Queuing Protocol)高級(jí)消息隊(duì)列協(xié)議的消息隊(duì)列服務(wù),用Erlang語(yǔ)言的
    2021-11-11
  • Linux下的fdisk命令用法詳解

    Linux下的fdisk命令用法詳解

    這篇文章主要介紹了Linux下的fdisk用法,大家都知道fdisk功能真的很強(qiáng)大,用它可以劃分出最復(fù)雜的分區(qū),本文重點(diǎn)給大家介紹Linux下的fdisk命令用法,感興趣的朋友一起看看吧
    2018-05-05
  • Linux解決Unknown filesystem問(wèn)題

    Linux解決Unknown filesystem問(wèn)題

    當(dāng)Linux系統(tǒng)出現(xiàn)「Unknown filesystem」錯(cuò)誤,通常是GRUB引導(dǎo)問(wèn)題,首先在GRUB命令行輸入ls查看信息,記錄返回的分區(qū)信息,使用PE系統(tǒng),如「微PE」,并利用「顯示隱藏分區(qū)」工具查看所有分區(qū),在文件資源管理器中找到「boot」文件夾所在的分區(qū)
    2024-10-10
  • CentOS7 mini的安裝和靜態(tài)ip設(shè)置教程

    CentOS7 mini的安裝和靜態(tài)ip設(shè)置教程

    本篇文章主要介紹了CentOS7 mini的安裝和靜態(tài)ip設(shè)置教程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02

最新評(píng)論

栖霞市| 怀来县| 满洲里市| 颍上县| 上蔡县| 雷州市| 台中市| 宁津县| 嘉禾县| 连州市| 凤庆县| 麻城市| 新和县| 城口县| 木兰县| 策勒县| 陆川县| 华安县| 肇东市| 沽源县| 岳普湖县| 麻城市| 永康市| 长葛市| 石屏县| 涞水县| 江华| 商都县| 澄城县| 平谷区| 香港 | 德令哈市| 武安市| 峨边| 蒲江县| 安仁县| 余干县| 阿城市| 同德县| 罗田县| 甘德县|