def wrapper(request): response = read_view(request) # 状态码为 200 时进行计数 if response.status_code == 200: post_id = int(request.GET.get('post_id')) rds.zincrby('ReadRank', post_id) return response
def wrap(request): response = read_view(request) # 页面正常则进行阅读计数 if response.status_code < 300: post_id = request.GET.get('post_id') rds.zincrby(keys.READ_RANK_KEY, post_id) return response
def read(request): post_id = int(request.GET.get('post_id')) try: post = Post.objects.get(id=post_id) # 缓存没有取到时,从数据库获取一次 rds.zincrby(keys.READ_RANK, post.id) # 增加阅读计数 except Post.DoesNotExist as e: return redirect('/') return render(request, 'read.html', {'post': post, 'tags': post.tags()})
def read_post(request): post_id = int(request.GET.get('post_id')) key = 'Post-%s' % post_id post = cache.get(key) # 先从缓存里取数据 print('get from cache: %s' % post) if post is None: post = Post.objects.get(pk=post_id) # 缓存里没有,直接从数据库获取数据 print('get from db: %s' % post) cache.set(key, post) # 将数据存入缓存,方便以后使用 print('set data into cache') rds.zincrby('ReadCounter', post_id) # 增加文章阅读计数 return render(request, 'read_post.html', {'post': post})
def wrap2(request): key = keys.PAGE_CACHE % request.get_full_path() response = cache.get(key) # 先从缓存取 print('get from cache', response) if response is None: response = view_func(request) # 缓存里没有,直接执行 view 函数 print('get from view', response) cache.set(key, response, timeout) # 把执行结果添加到缓存 print('set to cache') else: if view_func.__name__ == 'read': post_id = int(request.GET.get('post_id')) rds.zincrby(keys.READ_RANK, post_id) # 增加阅读计数 return response
def read_post(req): post_id = int(req.GET.get('post_id')) key = 'Post-%s' % post_id post = cache.get(key) print('从缓存里获取:', post) if post is None: #从数据库取出数据,并且添加到缓存里 post = Post.objects.get(pk=post_id) cache.set(key, post) print('从数据库里获取', post) # 增加阅读计数 rds.zincrby('ReadCounter', post_id) return render(req, "read_post.html", {'post': post})
def wrapper(request): response = read_view(request) if response.status_code == 200: # 检查状态码 post_id = request.GET.get('post_id') rds.zincrby('ReadRank', post_id, 1) # 文章阅读量 +1 return response
def wrap(requests): post_id = int(requests.GET.get('post_id', 1)) rds.zincrby(READ_COUNT_KEY, 1, post_id) return read_view(requests)
def wrapper(request): response = view_read_func(request) if response.status_code == 200: post_id = int(request.GET.get('post_id')) rds.zincrby(keys.READ_COUNTER, post_id) return response
def wrapper(request): post_id = int(request.GET.get('post_id')) # 对每篇的帖子进行加计数 rds.zincrby('readrank', post_id) return func(request)
def wrapper(request): post_id = int(request.GET.get('post_id')) rds.zincrby('ReadRank', post_id) # 阅读计数 return read_view(request)
def wrapper(request): post_id = int(request.GET.get("post_id")) # 阅读计数 排行名 计数的帖子 增加数值 rds.zincrby("ReadRank", post_id) # print(rds.zrevrange("ReadRank",0, 9,withscores=True) ) return read_view(request)