redis投票计数
<?php
/**
*
* 缓存利用测试,这里我们获取传过来的投票数据,每次加1,如果增加到了设定值,才将投票
* 次数写回mysql,这大大减轻了与mysql链接的开销,redis的使用由此可见一斑
* @var unknown_type
* @来自:www.crazyant.net和www.51projob.com
*/ //获取投票的信息的ID
$aid = isset($_GET['aid']) ? ereg_replace("[^0-9]", "", $_GET['aid']) : 0; //当前投票的数字,指的是在redis中的数据
$this_click_num = 0; if($aid>2){
//设定写回的投票数的最大值,到了此值就写回mysql
$update_till_num = 50; //创建redis对象
$r = new Redis();
$r->connect('127.0.0.1',6379);
//得到现在是第几个数据了
$this_click_num = $r->get('count_xin_newgame:'.$aid);
//点击数加1
$r->set('count_xin_newgame:'.$aid,$this_click_num+1);
if($this_click_num>=$update_till_num)
{
//如果点击数超过了设定数,那么就把数据写到mysql
if($this_click_num>$update_till_num)
require_once(dirname(__FILE__)."/db.php");
//更新数据库
$db->ExecuteNoneQuery(
"UPDATE `addonnewgame`
SET `game_num` = game_num + '{$update_till_num}'
WHERE `dede_addonnewgame`.`aid` ={$aid};"
);
//重置投票数目为0
$r->set('count_xin_newgame:'.$aid,0);
}
$r->setTimeout('count_xin_newgame:'.$aid,7*24*60*60);
exit($this_click_num);
}
?>
redis投票计数的更多相关文章
- 华为云PB级数据库GaussDB(for Redis)揭秘第八期:用高斯 Redis 进行计数
摘要:高斯Redis,计数的最佳选择! 一.背景 当我们打开手机刷微博时,就要开始和各种各样的计数器打交道了.我们注册一个帐号后,微博就会给我们记录一组数据:关注数.粉丝数.动态数-:我们刷帖时,关注 ...
- redis实现计数--------Redis increment
经理提出新的需求,需要知道每天微信推送了多少条模板消息,成功多少条,失败多少条,想到用Redis缓存,网上查了一些资料,Redis中有方法increment,测试代码如下 Controller imp ...
- NOSQL中的redis缓存数据库
NOSQL概述 什么是NOSQL? NoSql(NoSQL=Not Only SQL),意思为"不仅仅是SQL",是一个全新的数据库理念,泛指非关系型的数据库. 为什么需要NOSQ ...
- NoSQL and Redis
转自:http://www.cnblogs.com/fxjwind/archive/2011/12/10/2283344.html 首先谈谈为什么需要NoSQL? 这儿看到一篇blog说的不错http ...
- Redis Cluster实现原理
一.Redis Cluster主要特性和设计 集群目标 1)高性能和线性扩展,最大可以支撑到1000个节点:Cluster架构中无Proxy层,Master与slave之间使用异步replic ...
- redis学习六 集群的原理(转载)
转载自 http://shift-alt-ctrl.iteye.com/blog/2285470 一.Redis Cluster主要特性和设计 集群目标 1)高性能和线性扩展,最大可以支撑到1 ...
- Redis学习笔记(1)—— NoSQL&Redis简介
一.NoSQL概述 1.1 什么是NoSQL NoSQL(NoSQL = Not Only SQL),意指“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库. 1.2 为什么需要NoSQ ...
- Redis的入门
什么是NOSQL? NOSQL(Not Only SQL)不仅仅是数据库,是一种全新的理念,泛指非关系型的数据库. 为什么需要NOSQL? 随着互联网的高速崛起,网站的用户群的增加,访问量的上升,传统 ...
- 二十三 NoSql&Redis及其安装
什么是Nosql not only sql , 不仅仅是sql,是一项全新的数据库理念,泛指非关系型的数据库. 为什么需要NoSql 解决以下问题: 1 High Performance 对数据库 ...
随机推荐
- Global and Local Coordinate Systems
ansys 中的坐标系 整体和局部坐标系(主要在建模中涉及) 整体坐标系是以你建模的整个建筑为一体,来确定坐标系的.比如你建一个矩形平面的建筑,整体坐标系一般默认水平方向为X轴,竖直方向为Y轴,以垂直 ...
- swift语言实现单例模式
Swift实现单例模式 单例模式在各个语言中都有实现,swift语言推出已经几天了.通过这几天的看文档.特奉上写的Swift的单例实现,供大家学习交流,欢迎指正. ---若转载请注明出处,本人Gith ...
- 虎嗅: 小米盒子vs乐视盒子
机顶盒并非新鲜概念,可一旦和互联网发生了跨界关系,就会产生奇妙的反应.自年初小米盒子和乐视盒子分别在突破重重阻碍成功发售之后,互联网企业进军硬件制造领域的趋势愈发明显.今天我们拿到了两家的盒子产品,从 ...
- Linux操作系统启动界面(字符or图形界面)的设置及切换方法
安装完Linux操作系统后,默认是从图形界面启动的.那么如何使得系统从字符界面启动呢? 打开一个命令终端: #vim /etc/inittab 修改 id::initdefault: 为 id::in ...
- BIO、NIO、AIO差别
网上非常多IO资料,对新手来说.越看越晕.依据自己的理解.总结对照了一下BIO.NIO.AIO. BIO:线程发起IO请求,无论内核是否准备好IO操作,从发起请求起,线程一直堵塞,直到操作完毕. 例如 ...
- Spring AOP深入理解之拦截器调用
Spring AOP深入理解之拦截器调用 Spring AOP代理对象生成回想 上一篇博客中:深入理解Spring AOP之二代理对象生成介绍了Spring代理对象是怎样生成的,当中重点介绍了JDK动 ...
- java面试第八天
异常: 异常的分类 Java会将所有的异常封装成对象,其根本父类为Throwable. Throwable有两个子类:Error 和Exception. Error:一个Error对象表示一个程序错误 ...
- eclipse to avoid the message, disable the...
标题 CreateTime--2018年5月9日10:38:15 Author:Marydon 1.问题描述 2.问题解析 这是因为eclipse的智能提示超时引起的,将超时间调大即可,如:200 ...
- tarfile模块可以方操作tar归档文件
# -*- coding: utf-8 -*- #python 27 #xiaodeng #Python自带的tarfile模块可以方便读取tar归档文件 #http://www.open-open. ...
- Linux系统CentOS6.2版本下安装JDK7详细过程
Linux系统CentOS6.2版本下安装JDK7详细过程 分类: Linux 2014-08-25 09:17 1933人阅读 评论(0) 收藏 举报 前言: java 是一种可以撰写 ...