b/s有缓存的概念和用法,c/s有吗?

时间:2021-08-28 12:45:21
同样是用dataset取服务器的数据库的数据,把它缓存在服务器上,b/s有叶面缓存,数据缓存...,只要设置参数就可,c/s怎么做?我不知道啊。

25 个解决方案

#1


dataset 本身就是内存数据库

#2


没有关系的吧

#3


但是在asp/net中,我可以通过设置,把一个dataset缓存起来,这样,多人浏览相同信息时,就直接先到缓存里提取。我想知道,c/s里,多个winform客户端也在浏览相同信息时,能不能有相同的机制?

#4


#5


可以用缓存,能不能相同,可以问问版主。

#6


c/s 的dataset 是在客户端内存的哈

#7


B/S和C/S不同啦 ,原来B/S的缓存使用同一服务器的内存,C/S则是使用客户自己的内存.

#8


C/S也未必是在客户的内存嘛。只要严格的三层结构的C/S,WindowsForm只是一个Rich Client而已,服务器端依然可以通过一个单例封装的形式实现缓存,其实Web的Cache也就是一个高级单例,自己实现了定时回收,生命周期等等。

#9


原来B/S的缓存使用同一服务器的内存,C/S则是使用客户自己的内存.
------------------------------------------------------------
我可不想用自己的内存,客户端机子良莠不齐啊。

#10


C/S也未必是在客户的内存嘛。只要严格的三层结构的C/S,WindowsForm只是一个Rich Client而已,服务器端依然可以通过一个单例封装的形式实现缓存,其实Web的Cache也就是一个高级单例,自己实现了定时回收,生命周期等等。
-----------------------------------------------------------------------------------------
我就是要做成严格三层结构的c/s,尽量减少客户端的任务,最重要的是把缓存放到服务器组件端。有资料看吗?

#11


缓存就是主机的内存啊

只要你的变量生命周期没有到,垃圾回收器就不会回收,那么就在内存里。
楼主要想做成这样,可以定义一个类级的静态变量来做。

#12


总结:如果是三层架构,存取数据库中的数据的组件放在服务器端,那么不管是b/s还是c/s,dataset都是被加载在服务器的内存中。
请指教。

#13


你可以把dataset设置成静态的,不必每次调用都去数据库去。

#14


to soulroom(易水之风)
怎么设置成静态,给个提示。

#15


如果要做成C/S的三层结构,就涉及到分布式运算,解决方案:.Net Remoting和WebService,如果在客户端界面程序里面写的DataSet自然就不是在服务器的。

#16


to niunj(南航牛)
楼主要想做成这样,可以定义一个类级的静态变量来做。
--------------------------------------------------
类级的静态变量?是不是就是定义一个类,存放数据?

#17


谢谢 v192(人都是環境逼出來的,所以往死裏逼我吧) 。
要用到.net remoting。

#18


晕死……
在服务器端代码里面public static DataSet XXXX

#19


怎么都可以,但是建议使用单例封装类一个静态DataSet,便于控制和访问。

#20


呵呵,我没用过c/s的这么复杂的结构,谢谢指点。

#21


单例封装类一个静态DataSet,便于控制和访问。
------------------------------------------
单例封装就是说,一次只准一个客户端访问这个dataset了?

#22


单例,建议你去看下设计模式,就是和Cache,Application一样,只会被实例化一次

#23


奥,想起来了。我是忘了它的机制了。谢谢提醒。只会被实例化一次。

#24


.NET有很好的缓存机制,不管是WebForm还是WinForm!

#25


to :payne1010(www.exdevteam.com) 
别就说一句啊。总得提醒一下看什么东西吧。

#1


dataset 本身就是内存数据库

#2


没有关系的吧

#3


但是在asp/net中,我可以通过设置,把一个dataset缓存起来,这样,多人浏览相同信息时,就直接先到缓存里提取。我想知道,c/s里,多个winform客户端也在浏览相同信息时,能不能有相同的机制?

#4


#5


可以用缓存,能不能相同,可以问问版主。

#6


c/s 的dataset 是在客户端内存的哈

#7


B/S和C/S不同啦 ,原来B/S的缓存使用同一服务器的内存,C/S则是使用客户自己的内存.

#8


C/S也未必是在客户的内存嘛。只要严格的三层结构的C/S,WindowsForm只是一个Rich Client而已,服务器端依然可以通过一个单例封装的形式实现缓存,其实Web的Cache也就是一个高级单例,自己实现了定时回收,生命周期等等。

#9


原来B/S的缓存使用同一服务器的内存,C/S则是使用客户自己的内存.
------------------------------------------------------------
我可不想用自己的内存,客户端机子良莠不齐啊。

#10


C/S也未必是在客户的内存嘛。只要严格的三层结构的C/S,WindowsForm只是一个Rich Client而已,服务器端依然可以通过一个单例封装的形式实现缓存,其实Web的Cache也就是一个高级单例,自己实现了定时回收,生命周期等等。
-----------------------------------------------------------------------------------------
我就是要做成严格三层结构的c/s,尽量减少客户端的任务,最重要的是把缓存放到服务器组件端。有资料看吗?

#11


缓存就是主机的内存啊

只要你的变量生命周期没有到,垃圾回收器就不会回收,那么就在内存里。
楼主要想做成这样,可以定义一个类级的静态变量来做。

#12


总结:如果是三层架构,存取数据库中的数据的组件放在服务器端,那么不管是b/s还是c/s,dataset都是被加载在服务器的内存中。
请指教。

#13


你可以把dataset设置成静态的,不必每次调用都去数据库去。

#14


to soulroom(易水之风)
怎么设置成静态,给个提示。

#15


如果要做成C/S的三层结构,就涉及到分布式运算,解决方案:.Net Remoting和WebService,如果在客户端界面程序里面写的DataSet自然就不是在服务器的。

#16


to niunj(南航牛)
楼主要想做成这样,可以定义一个类级的静态变量来做。
--------------------------------------------------
类级的静态变量?是不是就是定义一个类,存放数据?

#17


谢谢 v192(人都是環境逼出來的,所以往死裏逼我吧) 。
要用到.net remoting。

#18


晕死……
在服务器端代码里面public static DataSet XXXX

#19


怎么都可以,但是建议使用单例封装类一个静态DataSet,便于控制和访问。

#20


呵呵,我没用过c/s的这么复杂的结构,谢谢指点。

#21


单例封装类一个静态DataSet,便于控制和访问。
------------------------------------------
单例封装就是说,一次只准一个客户端访问这个dataset了?

#22


单例,建议你去看下设计模式,就是和Cache,Application一样,只会被实例化一次

#23


奥,想起来了。我是忘了它的机制了。谢谢提醒。只会被实例化一次。

#24


.NET有很好的缓存机制,不管是WebForm还是WinForm!

#25


to :payne1010(www.exdevteam.com) 
别就说一句啊。总得提醒一下看什么东西吧。