PHP 与redis 操作添加处理投票
<?php
header("Content-Type:text/html;charset=utf-8");
include 'lib/mysql.class.php';
$mysql_obj = mysql::getConn();
if(class_exists('Redis')){
//redis
$redis = new Redis();
$redis->pconnect('127.0.0.1', 6379);
if(isset($_SERVER['HTTP_REFERER'])){
$url_md5 = md5($_SERVER['HTTP_REFERER']);
}
$adve_key = 'adve';
$adve_key_exists = 'adve_exists';
if(!$redis->exists($adve_key_exists)){
$list = $mysql_obj->fetch_array("select * from admin_online_adve");
if($list){
foreach ($list as $key => $value) {
$url_hash = md5($value['adve_url']);
$adve_hash_key = $adve_key.":".$url_hash;
$id = $value['id'];
$redis->set($adve_hash_key,$id);
$redis->set($adve_key_exists,true);
}
}
}
$adve_new_key = $adve_key.':'.$url_md5;
if($redis->exists($adve_new_key)){
$adve_plus = $adve_new_key.":plus" ;
if(!$redis->exists($adve_plus)){
$redis->set($adve_plus,1);
}else{
$redis->incr($adve_plus);
$num = $redis->get($adve_plus);
if($num >100){
$id = $redis->get($adve_new_key);
// insert to sql;
$mysql_obj->query("update admin_online_adve set adve_num=adve_num+$num where id=$id");
$redis->set($adve_plus,1);
}
}
}
}
?>
<html>
<head>
<meta http-equiv="refresh" content="1;url=https://itunes.apple.com/cn/app/san-guo-zhi15-ba-wangno-da-lu/id694974270?mt=8">
<title>统计</title>
</head>
<body>
<img src="loading.gif">Loading...
</body>
</html>
PHP 与redis 操作添加处理投票的更多相关文章
- Redis in Action 文章投票
原书用 Python 与 Redis 进行交互,我用 PHP 来实现. 环境:LNMP(CentOS 6.6 + Nginx 1.8.0 + MySQL 5.6.23 + PHP 5.6.9)+ Re ...
- 基于 php-redis 的redis操作
基于 php-redis 的redis操作 林涛 发表于:2016-5-13 12:12 分类:PHP 标签:php,php-redis,redis 203次 redis的操作很多的,下面的例子都是基 ...
- redis操作
测试环境redis操作 cd /export/servers/redis-2.8.9/src/./redis-cli -n 0 keys keys(pattern):返回满足给定pattern的所有k ...
- Redis操作Set工具类封装,Java Redis Set命令封装
Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...
- Redis操作List工具类封装,Java Redis List命令封装
Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...
- 设计模式之PHP项目应用——单例模式设计Memcache和Redis操作类
1 单例模式简单介绍 单例模式是一种经常使用的软件设计模式. 在它的核心结构中仅仅包括一个被称为单例类的特殊类. 通过单例模式能够保证系统中一个类仅仅有一个实例并且该实例易于外界訪问.从而方便对实例个 ...
- Redis操作string
Redis简介: ''' redis: 缓存,例如两个个程序A,B之间要进行数据共享,A可以把数据存在redis(内存里),其他程序都可以访问redis里的数据, 这样通过中间商redis就实现了两个 ...
- python 全栈开发,Day101(redis操作,购物车,DRF解析器)
昨日内容回顾 1. django请求生命周期? - 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者po ...
- Redis 操作字符串数据
Redis 操作字符串数据: > set name "Tom" // set 用于添加 key/value 数据,如果 key 存在则覆盖 OK > setnx nam ...
随机推荐
- 4.Kali 1.0 / 2.0 安装中文输入法(谷歌pinyin + 其他)
搜狗输入法安装可以参考这个:http://www.cnblogs.com/dunitian/p/6662374.html 1.kali默认是没有中午输入法的,需要自己安装一下 2.首先我们先获取roo ...
- 解题:HNOI 2013 Cards
题面 除了不洗牌以外,每种洗牌方式的每个循环里的颜色必须一样,然后大力背包一下就好了.最后记得把不洗牌的方案也算进去 #include<cstdio> #include<cstrin ...
- 解题:SCOI 2007 蜥蜴
题面 拆点跑最大流 所有能跑出去的点连向汇点,容量为inf 原点连向所有初始有蜥蜴的点,容量为1 每根柱子拆成两个点“入口”和“出口”,入口向出口连容量为高度的边,出口向别的有高度的柱子的入口连容量为 ...
- TensorFlow最佳实践样例
以下代码摘自<Tensor Flow:实战Google深度学习框架> 本套代码是在 http://www.cnblogs.com/shanlizi/p/9033330.html 基础上进行 ...
- HTML培训课程-------Day02(表格和框架)
表格 在网页中表格是一种经常使用到得设计结构,就像表格的内容中可以包含任何的数据,如文字.图像.表单.超链接.表格等等,所有在HTML中可以使用的数据,都可以被设置在表格中,所以有关表格设置的标记与属 ...
- C#string与stringBuilder的区别
string的缺点是每次字符串变量的内容发生了改变时,都必须重新分配内存.你想想,如果创建一个迭代100000次的循环,每次迭代都将一个字符连接到字符串,这样内存中就会有100000个字符串,每个字符 ...
- hdu 3022 Sum of Digits
http://acm.hdu.edu.cn/showproblem.php?pid=3022 题意: 最多不超过10000组数据,每组数据给定两个数n,m,求一个最小的数,使得该数每一位之和等于n,每 ...
- C#的Struct
- [转] Android 性能分析案例
Android 系统的一个工程师(Romain Guy)针对Falcon Pro 应用,撰写了一个Android性能分析的文章.该文章介绍了如何分析一个应用哪里出现了性能瓶颈,导致该应用使用起来不流 ...
- 如何使用ASP.NET开发基于推技术的聊天室?
public class Content : System.Web.UI.Page{private void Page_Load(object sender, System.EventArgs e){ ...