当前位置: 首页 > news >正文

怎么给网站做广告百度获客

怎么给网站做广告,百度获客,网页美工设计多少钱,做b2b网站赚钱吗前期准备 # 线上卖图书-图书表 图书名字,图书价格,库存字段-订单表: 订单id,订单名字# 表准备class Book(models.Model):name models.CharField(max_length32)price models.IntegerField() #count models.SmallIntegerField…

前期准备

# 线上卖图书-图书表  图书名字,图书价格,库存字段-订单表: 订单id,订单名字# 表准备class Book(models.Model):name = models.CharField(max_length=32)price = models.IntegerField()  #count = models.SmallIntegerField(verbose_name='库存')class Order(models.Model):order_id = models.CharField(max_length=64)order_name = models.CharField(max_length=32)# 使用mysql
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'lqz','HOST': '127.0.0.1','PORT': '3306','USER': 'lqz','PASSWORD': '123',}
}# 创建lqz数据库

1.原生mysql悲观锁

begin; # 开启事务select * from goods where id = 1 for update;  # 行锁# order表中加数据update goods set stock = stock - 1 where id = 1; # 更新commit; #提交事务

2.orm实现上述(悲观锁) 

#1  使用悲观锁实现下单
@transaction.atomic  # 整个过程在一个事物中---》改两个表:book表减库存,订单表生成记录
def seckill(request):# 锁住查询到的book对象,直到事务结束sid = transaction.savepoint() # 保存点# 悲观锁: select_for_update()# 加锁了--》行锁还是表锁? 分情况,都有可能#book = Book.objects.select_for_update().filter(pk=1).first()  # 加悲观锁,行锁,锁住当前行if book.count > 0:print('库存可以,下单')# 订单表插入一条Order.objects.create(order_id=str(datetime.datetime.now()), order_name='测试订单')# 库存-1,扣减的时候,判断库存是不是上面查出来的库存,如果不是,就回滚time.sleep(random.randint(1, 4))  # 模拟延迟book.count=book.count-1book.save()transaction.savepoint_commit(sid)  # 提交,释放行锁return HttpResponse('秒杀成功')else:transaction.savepoint_rollback(sid) #回滚,释放行锁return HttpResponse('库存不足,秒杀失败')

3 乐观锁秒杀--》库存还有,有的人就没成功

# 2 乐观锁秒杀--普通版
@transaction.atomic
def seckill(request):# 锁住查询到的book对象,直到事务结束sid = transaction.savepoint()book = Book.objects.filter(pk=1).first()  # 没加锁count = book.countprint('现在的库存为:%s' % count)if book.count > 0:print('库存可以,下单')Order.objects.create(order_id=str(datetime.datetime.now()), order_name='测试订单-乐观锁')# 库存-1,扣减的时候,判断库存是不是上面查出来的库存,如果不是,就回滚# time.sleep(random.randint(1, 4))  # 模拟延迟res = Book.objects.filter(pk=1, count=count).update(count=count - 1)if res >= 1:  # 表示修改成功transaction.savepoint_commit(sid)return HttpResponse('秒杀成功')else:  # 修改不成功,回滚transaction.savepoint_rollback(sid)return HttpResponse('被别人改了,回滚,秒杀失败')else:transaction.savepoint_rollback(sid)return HttpResponse('库存不足,秒杀失败')

 

http://www.hyszgw.com/news/1195.html

相关文章:

  • 介绍一下动态网站开发流程2020十大网络热词
  • 做网站链接关键词英文
  • 网站模板免费下载酒店管理系统网站排名费用
  • 网站 云端免费软文发布平台有哪些
  • 南京建设信息网站百合seo培训
  • 网址例子厦门seo网站排名优化
  • 广州市疫情防控最新通知seo优化或网站编辑
  • 做mip网站需要多钱营销推广投放
  • 西安建网站站长资讯
  • wordpress广告位谷歌优化培训
  • 网站页面建设武汉百捷集团百度推广服务有限公司
  • 吴桥做网站价格搜索引擎优化策略
  • 什么网站是专门做评论赚钱的黄页网络的推广网站有哪些软件
  • 手机网站大全1网站建站开发
  • 做哪些网站流量大微信crm管理系统
  • 公司网站建设设计公司排名公司软文
  • wordpress 多个页面吉林seo基础知识
  • 做水果生意去那个网站seo分析师招聘
  • wordpress 按点击调用热门文章seo工资
  • 东莞网站建设服务网页版百度
  • 中山网站建设招聘公司推广文案
  • 有没有做公章的网站河南推广网站
  • 微信app网站建设深圳华强北最新消息
  • 建设部一建注册公示网站国际婚恋网站排名
  • 53套网站源码国外搜索引擎大全不屏蔽
  • wordpress首页不显示文章武汉百度seo网站优化
  • 盐城网站平台建设3a汽车集团公司网络营销方案
  • 多语言网站建设费用uc信息流广告投放
  • 羽毛球网站建设网站考研培训机构排名前十
  • ASP 动态网站建设seo博客写作