加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何使用数据库实现同步Memcached

发布时间:2020-12-16 07:06:28 所属栏目:asp.Net 来源:网络整理
导读:AFAIK,Memcached不支持与数据库同步(至少SQL Server和Oracle).我们计划在我们的OLTP数据库中使用Memcached(它是免费的). 在一些业务流程中,我们做了一些繁重的验证,需要来自数据库的大量数据,我们不能保留这些数据的静态副本,因为我们不知道数据是否已被修改
AFAIK,Memcached不支持与数据库同步(至少SQL Server和Oracle).我们计划在我们的OLTP数据库中使用Memcached(它是免费的).

在一些业务流程中,我们做了一些繁重的验证,需要来自数据库的大量数据,我们不能保留这些数据的静态副本,因为我们不知道数据是否已被修改,因此我们每次都会获取数据,这会减慢进程的速度.

一种可能的解决方案是

>在数据库上写入触发器,以便在记录更改时创建/更新prefixed-postfixed(table-PK1-PK2-PK3-column)文件
>使用FileSystemWatcher监视此文件更改并使密钥(table-PK1-PK2-PK3-column)到期以获取更新的数据

问题:大约有100,000名用户在10小时内使用任何数据组合.所以我们最终会得到很多文件,例如categ1-subcateg5-subcateg-78-data100,categ1-subcateg5-subcateg-78-data250,categ2-subcateg5-subcateg-78-data100,categ1-subcateg5-subcateg-33-data100等

我期待至少500万个文件.现在它看起来很可怜??的解决方案:(

其他可能性

>从传递密钥的触发器异步调用Web服务
要过期了
>从触发器调用exe而不等待它完成然后这个
exe将使密钥到期. (我在SQL Server上使用xp_cmdsell来调用exe这个方法取得了一些成功,从oracle的触发器调用exe看起来有点困难)

仍然听起来很可悲,不是吗?

请任何聪明的建议

解决方法

(对我而言)不清楚Memcached的使用是否是强制性的.我个人会避免它,而是使用 SqlDependency和 OracleDependency.这两个都允许传递db命令,并在命令返回的数据发生变化时得到通知.

如果Memcached是强制性的,您仍然可以使用这两个类来触发失效.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读