PHP 与redis 操作添加处理投票

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 统计 Loading...
<?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>

 

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
PHP
php的foreach神操作
php的foreach神操作
22 0
|
3月前
|
NoSQL Java Redis
SpringBoot 配置Redis操作
SpringBoot 配置Redis操作
49 0
|
3月前
|
存储 NoSQL 关系型数据库
使用lua脚本操作redis
使用lua脚本操作redis
48 0
|
3月前
|
NoSQL Java Redis
Redis进阶-Jedis以及Spring Boot操作 Redis 5.x Cluster
Redis进阶-Jedis以及Spring Boot操作 Redis 5.x Cluster
52 0
|
3月前
|
缓存 NoSQL Java
RedisTemplate操作Redis,这一篇文章就够了
redis是一款开源的Key-Value数据库,运行在内存中,由C语言编写。企业开发通常采用Redis来实现缓存。同类的产品还有memcache 、memcached 等。
225 1
|
10天前
|
NoSQL Linux PHP
php添加redis扩展 linux和windos图文详解 l
php添加redis扩展 linux和windos图文详解 l
3 0
|
23天前
|
存储 NoSQL Java
Redis 数据结构操作入门
Redis 数据结构操作入门
15 0
|
1月前
|
缓存 NoSQL 数据库
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
|
1月前
|
存储 NoSQL Redis
如何在Python中操作Redis数据库
如何在Python中操作Redis数据库
28 0
|
2月前
|
NoSQL 测试技术 Redis
六步操作教你轻松搭建Redis集群
Redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用。单节点的Redis已经就达到了很高的性能,为了提高可用性我们可以使用Redis集群。本文参考了Rdis的官方文档和使用Redis官方提供的Redis Cluster工具搭建Rdis集群。
40 0