当前位置: 移动技术网 > 网络运营>服务器>Linux > 缓存服务器的建立原理分析第1/2页

缓存服务器的建立原理分析第1/2页

2019年05月07日  | 移动技术网网络运营  | 我要评论

好了。这样我们服务端的代码就算搞定了。
下面我们来发布服务供客户端调用
code
1 public partial class sharpcatchedservice : servicebase
2 {
3 public sharpcatchedservice()
4 {
5 initializecomponent();
6 }
7
8 protected override void onstart(string[] args)
9 {
10 tcpchannel channel = new tcpchannel(confighelper.port);
11 channelservices.registerchannel(channel, false);
12 remotingconfiguration.registerwellknownservicetype(typeof(datacatcher),
13 "sharpcatched", wellknownobjectmode.singleton);
14 }
15
16 protected override void onstop()
17 {
18 }
19 }
这样客户端就可以通过这个接口来实现远程数据的存取
在客户端首先我们获取远程的对象
code
public static icarrier carrier()
{
icarrier carrier = (icarrier)activator.getobject(typeof(icarrier), "tcp://localhost:" + confighelper.port + "/sharpcatched");
return carrier;
}
接着我们包装一下
code
1 public class sharpcatchedapi
2 {
3 icarrier icarrier;
4
5 public void init()
6 {
7 icarrier = doconnect.carrier();
8 }
9
10 public void set(string key, object value)
11 {
12 icarrier.set(key, value);
13 }
14
15 public void remove(string key)
16 {
17 icarrier.remove(key);
18 }
19
20 public object get(string key)
21 {
22 return icarrier.get(key);
23 }
24
25 public bool exits(string key)
26 {
27 return icarrier.exits(key);
28 }
29 }
3后续
以上实现的是最基本的分布式缓存解决方案。其实我们可以把这个集合转化为其他集合对象,例如hashtable。在对象启动的时候开启一个守护线程,这个进程做得工作就是把到期的缓存对象追加到一个集合对象中,然后遍历该对象实现缓存对象的销毁。我们还可以把对象进行一次哈希让对像在多台缓存服务器上存储。好了今天就写到这里吧。
以上文字希望能起到抛砖引玉的作用,引起大家更深层次的思考。
2

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网