您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP+redis实现添加处理投票的方法

2025/4/30 21:45:15发布7次查看
这篇文章主要介绍了php+redis实现添加处理投票的方法,结合实例较为详细的分析了php+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);}} } }?>
统计loading...其中php连接mysql类mysql.class.php如下:
_server = $dbserver;$this->_user = $dbuser;$this->_password = $dbpassword;$this->_dbname = $database;$this->_persistency = $persistency;$this->_autoconnect = $autoconnect;$this->_checkdb = $checkdb;if($autoconnect){$this->connection();} } function connection($newlink = false) {if (!$newlink){if($this->_isconnect && isset($this->_db_connect_id)){@mysql_close($this->_db_connect_id);}}$this->_db_connect_id = ($this->persistency) ? @mysql_pconnect($this->_server, $this->_user, $this->_password):@mysql_connect($this->_server, $this->_user, $this->_password,$newlink);if ($this->_db_connect_id){if ($this->version() > '4.1'){if ($this->_charset != ){@mysql_query(set names '.str_replace('-', '', $this->_charset).', $this->_db_connect_id);}}if ($this->version() > '5.0'){@mysql_query(set sql_mode='', $this->_db_connect_id);}//检测指定数据库是否连接成功if ($this->_checkdb){$dbname = mysql_query('select database()',$this->_db_connect_id);$dbname = mysql_fetch_array($dbname,mysql_num);$dbname = trim($dbname[0]);}else{$dbname = '';}if ($dbname==$this->_dbname || $dbname==''){if (!@mysql_select_db($this->_dbname, $this->_db_connect_id)){@mysql_close($this->_db_connect_id);$this->_halt(cannot use database . $this->_dbname);}}else{if ($this->_checkdb && !$newlink){$this->connection(true);}}return true;}else{$this->_halt('connect failed.',false);} } function setcharset($charset){//$charset = str_replace('-', '', $charset);$this->_charset = $charset; } function setdebug($isdebug=true){$this->_isdebug = $isdebug; } function query($sql,$type='') {return $this->_runsql($sql,mysql_sql_getdata,$type); } function execute($sql) {return $this->_runsql($sql,mysql_sql_execute,unbuffered); } function _runsql($sql,$sqltype=mysql_sql_getdata,$type = '') {if ($type ==unbuffered){$this->_result = @mysql_unbuffered_query($sql,$this->_db_connect_id);}else{$this->_result = @mysql_query($sql,$this->_db_connect_id);}//测试模式下保存执行的sql语句if($this->_isdebug){$this->_sql[]=$sql;}if ($this->_result){return $sqltype==mysql_sql_getdata?$this->getnumrows():$this->getaffectedrows();}else{$this->_halt(invalid sql: .$sql);return false;} } function next($result_type=mysql_assoc) {$this->fetchrow($result_type);return is_array($this->_record); } function f($name) {if(is_array($this->_record)){return $this->_record[$name];}else{return false;} } function fetchrow($result_type=mysql_assoc) {if( $this->_result ){$this->_record = @mysql_fetch_array($this->_result,$result_type);return $this->_record;}else{return false;} } function getall($sql,$primarykey=,$result_type=mysql_assoc) {if ($this->_runsql($sql,mysql_sql_getdata)>=0){return $this->fetchall($primarykey,$result_type);}else{return false;} } function getone($sql,$result_type=mysql_assoc) {if ($this->_runsql($sql,mysql_sql_getdata)>0){$arr = $this->fetchall(,$result_type);if(is_array($arr)){return $arr[0];}}else{return false;} } function fetchall($primarykey = ,$result_type=mysql_assoc) {if ($this->_result){$i = 0;$this->_rowset = array();if ($primarykey==){while($this->next($result_type)){$this->_rowset[$i] = $this->_record;$i++;}}else{while($this->next($result_type)){$this->_rowset[$this->f($primarykey)] = $this->_record;$i++;}}return $this->_rowset;}else{//$this->_halt(invalid result);return false;} } function checkexist($sql) {return $this->query($sql)>0?true:false; } function getvalue($sql, $colset = 0) {if ($this->query($sql)>0){$this->next(mysql_both);return $this->f($colset);}else{return false;} } function getnumrows() {return @mysql_num_rows($this->_result); } function getnumfields() {return @mysql_num_fields($this->_result); } function getfiledname($offset) {return @mysql_field_name($this->_result, $offset); } function getfiledtype($offset) {return @mysql_field_type($this->_result, $offset); } function getfiledlen($offset) {return @mysql_field_len($this->_result, $offset); } function getinsertid() {return @mysql_insert_id($this->_db_connect_id); } function getaffectedrows() {return @mysql_affected_rows($this->_db_connect_id); } function free_result() {$ret = @mysql_free_result($this->_result);$this->_result = 0;return $ret; } function version() {return @mysql_get_server_info($this->_db_connect_id); } function close() {return @mysql_close($this->_db_connect_id); } function sqloutput($isout = true, $all = true){if($all){$ret = implode(
,$this->_sql);}else{$ret = $this->_sql[count($this->_sql)-1];}if ($isout){echo $ret;}else{return $ret;} } function _halt($msg=session halted.,$geterr=true) {if($this->_isdebug){if($geterr){$this->_errno = @mysql_errno($this->_db_connect_id);$this->_error = @mysql_error($this->_db_connect_id);printf(mysql _error: %s (%s)
/n,$this->_errno,$this->_error);}die($msg);}else{die(session halted.);} }}?>
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product