技术文摘

帝国CMS redis随机调用信息

作者:雨祺   发表于:
浏览:101次    字数:1825  原创
级别: 站长   总稿: 69 篇,  月稿: 0
帝国CMS redis随机调用信息。首先服务器确保安装redis扩展。写入信息ID到redis集合(帝国CMS后台自定义页面),下面小编开始讲解了哦,教程如下:
  1. <?php 
  2. header("Content-Type:text/html;charset=utf-8"); 
  3. $redis=new Redis(); 
  4. try { 
  5.     $redis->connect('127.0.0.1', 6379); 
  6.     echo "Redis Server version:  ". $redis->info()['redis_version'] ."<br />";        //显示版本 
  7.     $key='infoid'
  8.     $deleted=$redis->del($key); 
  9.     $sql=$empire->query("select id from phome_ecms_news_index order by id"); 
  10.     while($r=$empire->fetch($sql)){ 
  11.     $redis->sADD($key,$r[id]); 
  12.     } 
  13. catch (Exception $e) { 
  14.         echo "Cannot connect to Redis server: " .$e->getMessage(). "<br />"
  15.     } 
  16.     $redis->close();// 关闭连接 
  17. ?> 
redis获取集合中信息ID
  1. <?php 
  2. header("Content-Type:text/html;charset=utf-8"); 
  3. $redis=new Redis(); 
  4. try { 
  5.     $redis->connect('127.0.0.1', 6379); 
  6.     echo "Redis Server version:  ". $redis->info()['redis_version'] ."<br />";        //显示版本 
  7.     $key='infoid'
  8.     $members=$redis->sMembers($key); 
  9.     foreach ($members as $member) { 
  10.         echo $member . PHP_EOL; 
  11.    } 
  12. catch (Exception $e) { 
  13.         echo "Cannot connect to Redis server: " .$e->getMessage(). "<br />"
  14.     } 
  15.     $redis->close();// 关闭连接 
  16. ?> 
调用帝国CMS随机信息(以下代码放到e/action/redis/下)
  1. <?php 
  2. require('../../class/connect.php'); //引入数据库配置文件和公共函数文件 
  3. require('../../class/db_sql.php'); //引入数据库操作文件 
  4. require('../../data/dbcache/class.php'); //引入栏目缓存文件 
  5. $link=db_connect(); //连接MYSQL 
  6. $empire=new mysqlquery(); //声明数据库操作类 
  7. $editor=1; //声明目录层次 
  8. $nu=(int)$_GET[num]; 
  9. if(!$nu){ 
  10. $nu=10; 
  11. $redis=new Redis();//连接 
  12. $redis->connect('127.0.0.1', 6379); 
  13. $key='infoid'//写入内存的KEY键值 
  14. $randomid=$redis->sRandMember($key,$nu); //获取集合取数据 
  15. foreach($randomid as $data){ 
  16. $r=$empire->fetch1("select id,title,titleurl,writer,smalltext from {$dbtbpre}ecms_news where id='$data' order by id asc limit 1"); 
  17. ?> 
  18. <li><a href="<?=$r[titleurl]?>" title="<?=$r[title]?>"><?=$r[title]?></a></li> 
  19. <? 
  20. $redis->close();// 关闭连接 
  21. db_close(); //关闭MYSQL链接 
  22. $empire=null//注消操作类变量 
  23. ?> 

直接访问PHP查看效果。在模板中调用可以参考以下代码:
 

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3. <head> 
  4.     <meta charset="UTF-8"
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge"
  6.     <meta name="viewport" content="width=device-width, initial-scale=1.0"
  7.     <title>Fetch Example</title> 
  8. </head> 
  9. <body> 
  10.     <div id="output"></div> 
  11.  
  12.     <script> 
  13.         fetch('/e/action/redis/redis.php'
  14.             .then(response => response.text()) 
  15.             .then(data => { 
  16.                 document.getElementById('output').innerHTML = data; 
  17.             }) 
  18.             .catch(error => console.error('Error:', error)); 
  19.     </script> 
  20. </body> 
  21. </html> 

【审核人:站长】

收藏   加好友   生成海报   分享
点赞(0)
打赏
Tags: CMS redis 帝国CMS 帝国

发布者资料

热门文章

技术文摘

查看更多技术文摘
首页
栏目
搜索
会员
投稿