请教各位朋友一个问题,欢迎各位前来讨论
公司有几套线上运行的系统(比如是A,B,C等等),本来是分别独立,互不相干
现在有了新需求,公司想开发一套通用的缓存系统,目的是让A,B,C等系统能够
共同使用同一套缓存,比如A系统中往缓存中插入一个类型为Entity的对象时,在B中
用类似于Get方法能够取到在A中刚才插入的值,即通过缓存实现各个系统的横向数据交换,
但是这有个问题,就是A中的Entity类型的属性和B中的Entity类型的属性不是完全一致的。
我不太明白这里改用如何的方式能更好的解决这个问题。我现在的想法是缓存用memcached来完成缓存内部的实现(用memcached的优势这里不提),
然后我写一个中间层(比如叫core的项目)用来包装一下,可以更适合自己公司的使用习惯,
用一个Model项目来完成统一的cache对象的存取,用一个service项目来暴露给客户端调用这只是我的初步想法,一定有很多问题,我想请各位给点意见,谢谢
公司有几套线上运行的系统(比如是A,B,C等等),本来是分别独立,互不相干
现在有了新需求,公司想开发一套通用的缓存系统,目的是让A,B,C等系统能够
共同使用同一套缓存,比如A系统中往缓存中插入一个类型为Entity的对象时,在B中
用类似于Get方法能够取到在A中刚才插入的值,即通过缓存实现各个系统的横向数据交换,
但是这有个问题,就是A中的Entity类型的属性和B中的Entity类型的属性不是完全一致的。
我不太明白这里改用如何的方式能更好的解决这个问题。我现在的想法是缓存用memcached来完成缓存内部的实现(用memcached的优势这里不提),
然后我写一个中间层(比如叫core的项目)用来包装一下,可以更适合自己公司的使用习惯,
用一个Model项目来完成统一的cache对象的存取,用一个service项目来暴露给客户端调用这只是我的初步想法,一定有很多问题,我想请各位给点意见,谢谢
解决方案 »
- C# 如何判断一个日期是否为长日期、短日期
- VS 2005中,“正在从网站中获取文件”是什么意思?
- ASP.NET可有方法定时运行一个函数
- 我正在用asp.net+xml做一个无刷新的在线客服系统,请问大家认为该怎样处理用户的进入和退出呢?
- 如何用datagrid控制多表关联后的列,比如日期这样输入出{0:D}
- c#如何获得硬盘的物理序列号?
- 关于打开数据库连接最好方式的问题。。
- 求助ASP.NET网页本地发布的问题?
- 怎样才能吧从客户端获得值赋给服务器端的变量,如Session["nodeid"]=....
- 大侠们看看里面的这段代码是什么意思?
- js 判断 CheckBoxList 选中状态
- 图层定位的问题 !!!!!!!!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1、架构cache项目的方式,应该用webservice?还是dll引用?还是用wcf?
用webservice会多很多序列化的过程,效率是不是会有问题
用dll的方式,势必会部署到很多地方,例如上文中的A,B,C都要部署一套,有了变更要重新部署
用wcf不是很熟悉,当然如果这种方式好的话,我会用
2、cache项目中的model是不是 势必会有很多冗余地段,该如何解决?
并且cache中的model项目中的数据类型和 各个子项目中的数据类型不是完全一致,连着转化怎么搞?
难道都用手写明码的方式来转换吗?谢谢各位前来讨论了。
memcached client类库只是针对cached的读取等操作,
我会在core中对这个进行封装的
然后给service项目来用
我觉得这个不是问题
貌似数据传输就是很大问题
因为序列化反序列化过程的原因
尤其是当大数据量时,
我也没试验过只是我的猜测
并且往缓存读取的时候还逃不过序列化反序列化
这个过程就有2次,貌似在加上数据类型转化
这样一来webservice或者wcf,效率能得到保证吗?
通过WCF或web services获取数据
参考
大数据量的访问这样对性能有影响吗
谢谢
里面提到的sharecache看起来可以满足我的需求
不过不如memcached等让人更放心