当前位置:Gxlcms > php框架 > PHP+Memcache实现wordpress访问总数统计(非插件)

PHP+Memcache实现wordpress访问总数统计(非插件)

时间:2021-07-01 10:21:17 帮助过:47人阅读

以前写过一篇博文,利用 PHP 和 Memcache 实现网站,以下链接查看://www.gxlcms.com/article/51825.htm
今天就把该功能用到 wordpress 中,并实现把访问次数保存到数据库中。

MySQL 语句

首先在参数表中,添加访问次数的默认数据

  1. // 获取所有浏览次数
  2. function get_all_visit_number()
  3. {
  4. $mc = new Memcache ();
  5. // 使用wordpress自带wpdb类
  6. global $wpdb;
  7. // 参数表
  8. $table = "wp_options";
  9. // 连接memcache
  10. $mc->connect ( "127.0.0.1", 11211 );
  11. // 获取浏览次数
  12. $visit_number = $mc->get ( 'visit_number' );
  13. // Memcache 中是否存有访问次数
  14. if (!$visit_number) {
  15. // 不存在时,查询数据库
  16. $querystr = "SELECT `option_value` FROM " .$table. " WHERE `option_name`='visit_number'";
  17. $results = $wpdb->get_results($querystr);
  18. // 把数据库中存储的值赋予memcache变量
  19. $visit_number = intval($results[0]->option_value);
  20. }
  21. // 设置浏览次数
  22. $mc->set ( 'visit_number', ++$visit_number);
  23. // 获取浏览次数
  24. $visit_number = $mc->get ( 'visit_number' );
  25. // 每达100次访问量,更新到数据库
  26. if ($visit_number % 100 == 0) {
  27. // 使用wordpress自带wpdb类
  28. $data_array = array(
  29. 'option_value' => $visit_number
  30. );
  31. $where_clause = array(
  32. 'option_name' => 'visit_number'
  33. );
  34. $wpdb->update($table,$data_array,$where_clause);
  35. }
  36. // 关闭memcache连接
  37. $mc->close ();
  38. return $visit_number;
  39. }

人气教程排行