bja*_*jan 5 sql-server asp.net oracle memcached caching
AFAIK,Memcached不支持与数据库同步(至少SQL Server和Oracle).我们计划在我们的OLTP数据库中使用Memcached(它是免费的).
在一些业务流程中,我们做了一些繁重的验证,需要来自数据库的大量数据,我们不能保留这些数据的静态副本,因为我们不知道数据是否已被修改,因此我们每次都会获取数据,这会减慢进程的速度.
一种可能的解决方案是
FileSystemWatcher和监视此文件更改并使密钥到期(表-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万个文件.现在它看起来很可怜的解决方案:(
其他可能性
仍然听起来很可悲,不是吗?
请任何聪明的建议
MS SQL Server 具有“更改跟踪”功能,也许对您有用。您启用数据库进行更改跟踪并配置您希望跟踪的表。然后,SQL Server 在表上的每次更新、插入、删除时创建更改记录,然后让您查询自上次检查以来对记录所做的更改。这对于同步更改非常有用,并且比使用触发器更有效。它也比制作自己的跟踪表更容易管理。这是自 SQL Server 2005 以来的一项功能。
更改跟踪仅捕获表的主键,并让您查询哪些字段可能已被修改。然后,您可以查询这些键上的表连接以获取当前数据。如果您希望它捕获数据,也可以使用更改捕获,但它需要更多开销,并且至少需要 SQL Server 2008 企业版。
我没有使用 Oracle 的经验,但我相信它也可能有一些跟踪功能。这篇文章可能会帮助您开始:
| 归档时间: |
|
| 查看次数: |
1114 次 |
| 最近记录: |