自己做的网站 打开了没有图片建设企业网站需要什么
自己做的网站 打开了没有图片,建设企业网站需要什么,如何开发自己的app软件,php网站api接口写法最近研究memcache小有成果#xff0c;把经验分享出来。白话:很早就听说memcache了#xff0c;一直没搞懂#xff0c;后来又看到redis很火#xff0c;可以用来做缓存#xff0c;研究了半天也没搞懂咋个做缓存#xff0c;后来也不纠结了#xff0c;继续学习python,当对pyt…最近研究memcache小有成果把经验分享出来。白话:很早就听说memcache了一直没搞懂后来又看到redis很火可以用来做缓存研究了半天也没搞懂咋个做缓存后来也不纠结了继续学习python,当对python基础有一定掌握后渐渐明白如何用redis或memcache做数据库的缓存。原理很简单memcache和redis都是在内存开辟一堆空间用键-》值来保存数据在python称作字典具体流程如此图当用户第一次通过web应用程序去读取数据库返回数据值的时候web应用服务器会做两个动作第一个动作返回给用户第二个动作会写入memcache,当第二个用户去访问相同的数据时程序代码前添加if判断语句如果memcache有需要的数据直接从memcache取。可能表达的还不够清楚我们通过代码来测试下。我用的环境是pythondjango----查询代码def sql(request):#连接memcachemc memcache.Client([127.0.0.1:1111])#用sql查询语句作为memcahe的键key2 select * from zuozekey2 md5(key2)#数据库查询zuoze表的数据sql1 select * from zuoze#判断sql键有没有在memcache,就从mysql取数据并写入memcacheif not mc.get(key2):#import MySQLdb#连接mysql数据库db MySQLdb.connect(127.0.0.1,admin,wanwan,T)cursor db.cursor()cursor.execute(sql1)#绑定sql数据到变量resultsresults cursor.fetchall()#同时把sql查询数据写入memcachemc.set(key2,results)print go mysql!!db.close()return render_to_response(sql.html,{results:results})#直接从memcache取数据else:results mc.get(key2)print go memcache!!!return render_to_response(sql.html,{results:results})----更新缓存的两种办法转至论坛高手的回答{常规做法有两种1.数据有改变则在更新数据库的同时更新memcache2.数据有改变则数据库有一个字段来标识更新时间例如update_time。当有查询时候把memcache里的update_time与数据库的update_time比较。如果发生变化则更新memcache超期时间设置应根据数据访问的频繁度和内存大小来权衡一下。memcache内存申请后映像中不会被释放。它是通过 如果有一部分数据超时则新写入的数据覆盖超时数据来完成重复使用的。那么理论上来讲内存使用情况是数据被memcache占用最多的那一刻}---实验用的第一种。def upsql(request):if request.method POST:xing request.POST.get(xing,None)name request.POST.get(name,None)mail request.POST.get(email,None)shuji_id request.POST.get(mail,None)db MySQLdb.connect(127.0.0.1,admin,wanwan,T)cursor db.cursor()sql insert into zuoze(id,xing,name,email,shuji_id) values (,%s,%s,%s,%s) % (xing,name,mail,shuji_id)cursor.execute(sql)db.commit()#插入数据或更新数据后重新更新memcache数据mc memcache.Client([127.0.0.1:1111])key2 select * from zuozekey3 md5(key2)cursor.execute(key2)results cursor.fetchall()mc.set(key3,results)db.close()return HttpResponse(ok!)return render_to_response(upsql.html)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92496.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!