- Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
- Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!
Collapse
You are not logged in or you do not have permission to access this page. This could be due to one of several reasons:
- You are not logged in. If you are already registered, fill in the form below to log in, or follow the "Sign Up" link to register a new account.
- You may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system?
- If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.
Logging in...
Previously on "Caching shared application data in dot net"
Collapse
-
So the built-in caching in .Net doesn't do such things SY? I haven't used it other than as a way to make data automatically expire after a given time period so I'd be interested to hear what you find out.
-
Thanks DPOriginally posted by DimPrawn View PostI for one think this is an inneresting technical question.
Is the data going to be shared across different processes and or servers or loaded into one process?
How much memory will these large objects occupy?
In terms of stale data, one pattern is a write through cache. All access to the DB / persistence store is through the write through cache. This way the cache always knows when data has been invalidated. You can even have a lazy writer process persist the data from the cache in the background (write behind).
There are many open source and cloud solutions. Memcached, AWS Elasticache, Azure Redis Cache for example.


The data would be shared across processes and servers. The data is really only likely to be a few 100,000 rows of normal text on some fairly wide tables so not really as bad as I was making out with the blobs, but I was exaggerating to see if some super duper frameworks would come to the fore.
This isn't cloud but on premise.
The write through cache is exactly the kind of thing I was thinking of, but the first rule is don't cut code if there is something already available.
I will look at the Open Source solutions you mention.
Leave a comment:
-
You can, that's why I asked if the cache needs to be distributed and maintained across multiple processes and machines and how large the data is.Originally posted by woohoo View Post.net has a built in memorycache, key, value. You could hash the SQL criteria and use that as the key.
If it's 4TB of data to cache, good luck holding that in one .Net process.
Leave a comment:
-
.net has a built in memorycache, key, value. You could hash the SQL criteria and use that as the key.
In the past when changing config data through an admin site, I've called a web service to invalidate cache which would force the next query to fetch the data from the db.Last edited by woohoo; 28 March 2017, 21:11.
Leave a comment:
-
I for one think this is an inneresting technical question.Originally posted by suityou01 View PostHi,
Any frameworks anyone can suggest for this?
Say my app runs this
After it's done the heavy lifting over the wire from the DB, I want to cache this on my Application server (In memory) and then when a query with exactly the same predicate comes along, my app can go "tadaaaaa" without having to do a fresh DB fetch.Code:SELECT BigFatMahoosiveBlob FROM BigFatTable WHERE Predicate = xyz
Usual expiration stuff etc.
So, what does the panel recommend?
For bonus points, is there anything where the DB can ping back a message to say you're data is stale now?
Is the data going to be shared across different processes and or servers or loaded into one process?
How much memory will these large objects occupy?
In terms of stale data, one pattern is a write through cache. All access to the DB / persistence store is through the write through cache. This way the cache always knows when data has been invalidated. You can even have a lazy writer process persist the data from the cache in the background (write behind).
There are many open source and cloud solutions. Memcached, AWS Elasticache, Azure Redis Cache for example.
Leave a comment:
-
Know your limitsOriginally posted by suityou01 View PostHi,
Any frameworks anyone can suggest for this?
Say my app runs this
After it's done the heavy lifting over the wire from the DB, I want to cache this on my Application server (In memory) and then when a query with exactly the same predicate comes along, my app can go "tadaaaaa" without having to do a fresh DB fetch.Code:SELECT BigFatMahoosiveBlob FROM BigFatTable WHERE Predicate = xyz
Usual expiration stuff etc.
So, what does the panel recommend?
For bonus points, is there anything where the DB can ping back a message to say you're data is stale now?
Put you requirements down.
LM and I will be back in a few days with timescales, resource requirements and a quote
Leave a comment:
-
I'd have to search MSDN because it's been so long but I think you're looking for the SqlDependency class assuming you're using SQL server which I believe will provide some mechanism of cache invalidation when data becomes stale. Perhaps there is something similar available for different database servers.
Originally posted by LondonManc View PostHave you relocated to Bangalore?
Man up, do your job or hand your pass in you fraud.
Leave a comment:
-
Have you relocated to Bangalore?
Man up, do your job or hand your pass in you fraud.
Leave a comment:
-
Caching shared application data in dot net
Hi,
Any frameworks anyone can suggest for this?
Say my app runs this
After it's done the heavy lifting over the wire from the DB, I want to cache this on my Application server (In memory) and then when a query with exactly the same predicate comes along, my app can go "tadaaaaa" without having to do a fresh DB fetch.Code:SELECT BigFatMahoosiveBlob FROM BigFatTable WHERE Predicate = xyz
Usual expiration stuff etc.
So, what does the panel recommend?
For bonus points, is there anything where the DB can ping back a message to say you're data is stale now?Tags: None
- Home
- News & Features
- First Timers
- IR35 / S660 / BN66
- Employee Benefit Trusts
- Agency Workers Regulations
- MSC Legislation
- Limited Companies
- Dividends
- Umbrella Company
- VAT / Flat Rate VAT
- Job News & Guides
- Money News & Guides
- Guide to Contracts
- Successful Contracting
- Contracting Overseas
- Contractor Calculators
- MVL
- Contractor Expenses
Advertisers
Contractor Services
CUK News
- HMRC standstill agreements extended to 72 months: why the term's doubled, and what to check before signing Jul 31 05:53
- Who owns the loans? Inside the mystery of the loan charge recall scandal Jul 30 06:20
- Umbrella company winding-up petitions in 2026: the practical guide for contractors Jul 29 05:29
- Payments on Account deadline: what contractors must do before July 31st — maybe for the final few times Jul 28 08:01
- Andy Burnham's first 100 days: five things contractors need from the new PM Jul 27 00:53
- Starmer vs Burnham on housing: What their rival plans mean for your contractor mortgage Jul 22 00:59
- Burnham's housing vision vs. Starmer's home-buying reforms: what it means for your contractor mortgage Jul 22 00:59
- In Khalil v Innovate Transport, a limited company contractor wasn’t a worker and was on £2.30 — not £230 Jul 21 07:58
- Andy Burnham is PM: 5 new IT policies set to shape UK tech and its contractors Jul 20 06:29
- Taxed on money I haven't earned yet? Bold move, HMRC Jul 17 08:36

Leave a comment: