深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 700|回复: 3
打印 上一主题 下一主题

memDB包的使用方法

[复制链接]

104

主题

171

帖子

1179

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1179
跳转到指定楼层
楼主
发表于 2019-5-14 14:31:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. $phar["mem.inc.php"]  = file_get_contents($srcRoot . "mem.inc.php");          //create;
  2. $phar["mem.func.php"]  = file_get_contents($srcRoot . "mem.func.php");  //incoming data
  3. $phar["mem.tools.php"] = file_get_contents($srcRoot . "mem.tools.php"); //outcoming data  已取消  
  4. $phar["mem.schema.php"] = file_get_contents($srcRoot . "mem.schema.php");
  5. $phar["mem.dump.php"] = file_get_contents($srcRoot . "mem.dump.php");
  6. $phar["mem.hello.php"] = file_get_contents($srcRoot . "mem.hello.php");
复制代码

回复

使用道具 举报

104

主题

171

帖子

1179

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1179
沙发
 楼主| 发表于 2019-5-14 16:53:09 | 只看该作者
功能函数如下:
  1. /*
  2. * 001:相关的mem操作
  3. */
  4. function mdb_tick()


  5. /*
  6. *  002 : set
  7. */
  8. function mdb_set_2($key, $value){
  9. function mdb_set_3($key, $value , $tick = 1*60*60){
  10. function mdb_add_3($key, $value , $tick = 1*60*60){

  11. /*
  12. * 003: get
  13. */
  14. function mdb_query($key){

  15. /*
  16. * 004: 专门用于记录index的信息
  17. */
  18. function save_index_info($name,$tick){

  19. /*
  20. *  005: 系统rowid的实现
  21. */
  22. function get_rowid(){


  23. /*
  24. * 006: 系统seq的实现
  25. */
  26. function next_val($seqname,$maxnum=100){


  27. /*
  28. * 007: 向消息环中加入消息到队列
  29. */
  30. function loop_add($loopname,$msg){


  31. /*
  32. * 008: 读消息环中的消息
  33. */
  34. function loop_read($loopname){


  35. /*
  36. * 009: 初始化一些系统参数
  37. */
  38. function init_setting(){


  39. /*
  40. * 010: 返回memDb的索引表
  41. */
  42. function getIndexTable($query=array()){
复制代码
回复 支持 反对

使用道具 举报

104

主题

171

帖子

1179

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1179
板凳
 楼主| 发表于 2019-5-14 17:21:29 | 只看该作者
使用范例:

  1. require_once("memdb.phar");       
  2. require_once("phar://memdb.phar/mem.inc.php");
  3. require_once("phar://memdb.phar/mem.func.php");
  4.         $t=getTickCount();
  5.         mdb_set_2("str_key1", "String to store in memcached");
  6.         mdb_set_2("num_key1", 123);

  7.         $object = new StdClass;
  8.         $object->attribute = 'test';
  9.         mdb_set_2("obj_key1", $object);

  10.         $array = Array('assoc'=>123, 345, 567);
  11.         mdb_set_2("arr_key1", $array);

  12.         var_dump(mdb_query('str_key1')); echo "<br />";       
  13.         var_dump(mdb_query('num_key1')); echo "<br />";       
  14.         var_dump(mdb_query('obj_key1')); echo "<br />";       
  15.         var_dump(mdb_query('arr_key1')); echo "<br />";
  16.         $t=getTickCount()-$t;
  17.         echo "<font color=blue>time: {$t}<br />";

  18. echo get_rowid()."<br />";
  19. echo get_rowid()."<br />";
  20. echo get_rowid()."<br />";
  21. echo get_rowid()."<br />";
  22. echo get_rowid()."<br />";
  23. echo get_rowid()."<br />";
  24. echo get_rowid()."<br />";
复制代码
回复 支持 反对

使用道具 举报

800

主题

1379

帖子

7708

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7708
地板
发表于 2021-8-17 14:48:06 | 只看该作者
本帖最后由 zhgc 于 2021-8-17 14:51 编辑

节选自wiki_kb

  1. <?php

  2. ob_start();


  3. //Created by syant / 2021
  4. //获得R102的相关信息

  5. require_once("memdb.phar");        
  6. require_once("phar://memdb.phar/mem.inc.php");
  7. require_once("phar://memdb.phar/mem.func.php");

  8. //---   Json Start   ---
  9. header('Content-type: text/json; charset=utf-8');

  10. $data=array(
  11.         "tag"=>418,
  12.         "tick"=>"",
  13.         "msg"=>"start...",
  14.         "output"=>0,
  15.         "line"=>array(),
  16.         "alarm"=>false,
  17.         "alarmmsg"=>"",
  18. );

  19. //===   Json Start   ===

  20. //---  参数处理   ---
  21. $line=$_GET["line"];
复制代码

$key=substr($datestr,0,10);
mdb_delete($key);  //当前这一个时都要重新计算

foreach($workclass as $k=>$v){
        //遍历,可能内存清空了
        $workdate=$v["w"];       
        $workhh=$v["h"];       
        $key=$workdate.sprintf("%02d",$workhh);
        $mm=mdb_query($key);
        if(is_array($mm)){
                //有保存的数据,不处理
        }else{
                $sql="select  line_name,group_name,sum(pass_qty) pass_qty,sum(fail_qty) fail_qty,sum(repass_qty) repass_qty,sum(refail_qty) refail_qty
                                        from sfc.r_station_rec_t where work_date='{$workdate}'
                                        and work_section=$workhh group by line_name,group_name";       
                $result = mysqli_query($db,$sql);
                $r102=array();
                while($row = mysqli_fetch_assoc($result)){
                        $r102[]=$row;
                }
                mysqli_free_result($result);
                mdb_set_2($key,$r102);
        }
}


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-5-5 14:35 , Processed in 0.032190 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表