Application of Cache Technology in ASP

xiaoxiao2021-03-06  43

The ASP has been released since released, and the use of ASP technology is quite mature. Since Microsoft launched ASP.NET, it gradually stopped updates to the ASP version. However, because many people are still used to using ASP to develop websites, I will again explain how to use Cache in ASP again. Simply put the basic principle of using Cache is to continuously save a certain period of time in memory in memory, to provide direct access to it. For example, some data need to be obtained from multiple tables in multiple tables, and almost every page needs to call these data. The best implementation in this case is to bring this part of the data Cache, and the simple implementation of the ASP is to encapsulate the final expression of these data (eg HTML flow) in the string and store it in the ASP built-in object Application (mainly The discussion is dynamic cache, and simple ASP applications are omitted). The advantage of this is that this HTML can be called globally over the entire website, and Application is in memory, so you don't have to query the database, thus speeding up the response time and saving server load. Of course, this is an example of a typical empty time for consumption.

Although there are many benefits, it is no longer applicable when there is a frequently changing data source (database), because the ASP Application object has a disadvantage, that is, it is not possible to automatically change with the data source. Change, or control the refresh interval. So developers need to program the dynamic cache. Of course, when the program is designed, you can update the AppLiction when all changes in the data source (database) operation. Thereby, the data source (database) is always consistent. Doing this will be more considered on programming, it is easy to miss the details. So I don't recommend this method in addition to a particular situation.

I think the best way in ASP is to use programmatically refresh Cache, which means that sets an expiration time stored in the Application. Of course, the Application object does not have such an ExpiRetime property in the ASP. This requires the implementation of the program.

Code asp: default.asp

<% @ Language = vbscript%> <% option expedition%> <% response.buffer = true%> ASP Cache Demo </ title> <meta http-equiv =" content-type "content =" text / html; charSet = GB2312> </ head> <body > <H4> Refreshing Cache: </ h4> <% response.flush gethtmlstream response.write htmlstream%> </ body> </ html> </ body> </ html> </ body> </ html> </ body> </ html></p> <p>ASP: GetCache.asp</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-58840.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="58840" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.036</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'guYBVKTcX4iryi99_2FCQF77DBbIHMJKb_2B8EvYiRohEh8Mu7sddvP_2FLA_2BTPiamrAM02alX7En9eG_2BJcrUYxs5SGA_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>