调用的webservice或者webapi之类的接口,里面的数据一定是要查数据库吗?如何获取程序内存中数据?

suncs2001 2020-03-07 02:18:37
一般情况下调用web接口想要获取一些数据,都是去查询数据库。但是有时候我想获取程序中某些信息的实时状态,不想把这些数据频繁的存入数据库,然后调用接口时再去数据库中查询一次,我想直接获取到这些数据传出去。

我想到的是两种方式,但是不知道对不对。
1、用selfhost方式建立(webapi好像可以selfhost)
2、通过消息队列

还有这种情况下大家都是怎么处理方式,难道大家全部是数据库中转吗
...全文
1458 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
不用数据库,那你就让这个数据当成参数传来传去得了。。。比如别人调用你的接口,你返回一个状态给他,然后对方再调用你接口的时候再把状态传回给你。。。所以就看你如何定义这个接口了。。。
回复
suncs2001 2020-03-11
引用 5 楼 手在键盘敲很轻 的回复:
放在内存里面不行吗,你自己定义一个缓存类,把东西都放里面,少量的数据应该问题不大。

就是要放在内存中,问题是在web接口中怎么拿到。 比如用IIS上的webservice,它直接拿不到程序的内存吧。
回复
极客诗人 2020-03-10
引用 3 楼 suncs2001 的回复:
类似于这种配置性的参数 我都放在web.config中 core的话对应的是appsetting
回复
suncs2001 2020-03-10
比如我的程序里有个参数, 日志记录的一个开关(打开,关闭两种状态),这个日志记录开关程序加载时读取配置文件获取到到的。 那么我有一个web接口,想获取到日志的开关是开还是关。
如果按照一般的方式是不是得把这个日志的开关状态存储到数据库中,web接口中去数据库里拿,再返回给调用者。
既然我们这个开关变量程序里有,我想着不存数据库,web接口中直接把开关的状态通过web接口的返回值传递给调用者是不是方便很多。
回复
放在内存里面不行吗,你自己定义一个缓存类,把东西都放里面,少量的数据应该问题不大。
回复
极客诗人 2020-03-09
需要实时的话 socket应该可以满足
回复
lzhdim 2020-03-09
定义一个变量,存在application里???
回复
发动态
发帖子
Web Services
创建于2007-09-28

1.2w+

社区成员

.NET技术 Web Services
申请成为版主
社区公告
暂无公告