Browse Source

hashsaver experimental

gwang 5 years ago
parent
commit
12250f124b

+ 2 - 7
Gameserver/Amfphp/base/RedisHashSaver.php → Gameserver/Amfphp/base/HashSaver.php

@@ -8,7 +8,7 @@ namespace loyalsoft;
  * @author gwang 
  * @version 1.0.0 创建. 2年以前就跟高健讨论过的理念,我一直没有落到实处(高健已经使用了). --gwang 2020.4.24
  */
-class RedisHashSaver extends Object_ext {
+class HashSaver extends Object_ext {
     //
     //
     // <editor-fold defaultstate="collapsed">
@@ -27,12 +27,7 @@ class RedisHashSaver extends Object_ext {
      * 存储数据到redis
      */
     function updateData($mem_key) {
-        $array = array();                                                       # 
-        $vars = get_class_vars(get_class($this));                               # 获得实例的实际类名称=>属性数组
-        foreach ($vars as $name => $value) {
-            $array[$name] = $value;                                             # 取参数中的或者默认值
-        }
-        gMem()->hmset($mem_key, $array);
+        gMem()->hmset($mem_key, $this);
     }
 
     // </editor-fold>

+ 1 - 0
Gameserver/Amfphp/base/Include.php

@@ -13,4 +13,5 @@ if (!defined("VO_ROOT")) {
     include_once VO_ROOT . '/MemKey_User.php';
     include_once VO_ROOT . '/MemKey_GameRun.php';
     include_once VO_ROOT . '/MemKey_Guild.php';
+    include_once VO_ROOT . '/HashSaver.php';
 }

+ 6 - 4
Gameserver/Amfphp/test.php

@@ -8,13 +8,14 @@ include __DIR__ . '/main.php';
 //set_time_limit(15);                                                           # 设置执行超时时间
 echoLine("phpver:" . PHP_VERSION);
 
-class ABC extends Object_ext {
+class ABC extends HashSaver {
 
     public $name;
+    public $age = 35;
 
     public function __construct($args) {
         parent::__construct($args);
-        $this->LoadFrom(array('name' => "wanggangzero"));
+//        $this->LoadFrom(array('name' => "wanggangzero"));
     }
 
 }
@@ -22,5 +23,6 @@ class ABC extends Object_ext {
 $arr = array(
     'name' => '王刚'
 );
-var_dump(new ABC($arr));
-
+$obj = new ABC($arr);
+var_dump($obj);
+$obj->updateData("test-hash");

+ 13 - 12
Gameserver/nbproject/private/private.xml

@@ -13,19 +13,20 @@
     <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
         <group>
             <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/UserProc.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/HeroProc.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/index.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/FightProc/PVPProc.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/FightProc.php</file>
+            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/ActiveProc.php</file>
+            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/util/CRedisUtil.php</file>
+            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/model/User/UserInfoMo.php</file>
+            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/base/Object_ext.php</file>
+            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/base/HashSaver.php</file>
+            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/base/Include.php</file>
             <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/StoreProc.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/service_call/cmemdata/kvflush.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/util/HttpUtil.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/base/Resp.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/model/User/HeroModel.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/base/ErrCode.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/base/MemKey_GameRun.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/model/User/UserHeroModel.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/service_call/pay/charge_info.php</file>
+            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/model/User/UserGameModel.php</file>
+            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/model/User/StoreModel.php</file>
+            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/base/Req.php</file>
+            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/util/StlUtil.php</file>
+            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/SystemProc.php</file>
+            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/test.php</file>
+            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/main.php</file>
         </group>
     </open-files>
 </project-private>