{"id":1752,"date":"2018-03-17T11:50:27","date_gmt":"2018-03-17T03:50:27","guid":{"rendered":"http:\/\/39.100.100.179\/?p=1752"},"modified":"2018-05-27T21:03:31","modified_gmt":"2018-05-27T13:03:31","slug":"php%e6%93%8d%e4%bd%9credis%e5%ae%9e%e7%8e%b0%e5%be%ae%e4%bf%a1%e5%b0%8f%e6%b8%b8%e6%88%8f%e6%8e%92%e8%a1%8c%e6%a6%9c%e4%b8%89","status":"publish","type":"post","link":"http:\/\/www.u3d8.com\/?p=1752","title":{"rendered":"Php\u64cd\u4f5cRedis\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u6e38\u620f\u6392\u884c\u699c(\u4e09)"},"content":{"rendered":"<p>\u4e0a\u4e00\u4e2a\u6559\u7a0b\u6211\u4eec\u5b9e\u73b0\u4e86\u8bb0\u5f55\u73a9\u5bb6UserInfo\u6570\u636e<\/p>\n<p>\u8fd9\u6b21\u6559\u7a0b\u6211\u4eec\u6765\u5b9e\u73b0<\/p>\n<ol>\n<li>\u5b9e\u73b0\u83b7\u53d6\u6307\u5b9a\u8303\u56f4\u6392\u884c\u6570\u636e<\/li>\n<li>\u5b9e\u73b0\u83b7\u53d6\u6307\u5b9a\u7528\u6237\u6392\u884c<\/li>\n<li>\u5b9e\u73b0\u73a9\u5bb6\u4e0a\u4f20\u5206\u6570<\/li>\n<li>\u5b9e\u73b0\u73a9\u5bb6\u6e38\u620f\u6b21\u6570\u8ba1\u6570<\/li>\n<\/ol>\n<p>\u8fd9\u56db\u4e2a\u529f\u80fd\u90fd\u662f\u5728\u8fd9\u4e00\u6761\u6d88\u606f\u6765\u5b8c\u6210\u7684~<\/p>\n<h2>\u4e00\u3001\u5728\u670d\u52a1\u5668\u7aef\u6dfb\u52a0<strong><em>game_rank.php<\/em><\/strong><\/h2>\n<pre class=\"lang:php decode:true \">$redis-&gt;connect('127.0.0.1',6379);                                                                             \r\n$redisApi = new RedisAPI($redis);                                                                              \r\n\/\/***************** \u89e3\u6790\u4f20\u8fc7\u6765\u7684\u6570\u636e ***************                                                           \r\n$DATA = $_POST;                                                                                                \r\n                                                                                                               \r\n$game = $DATA[\"game\"];                                                                                         \r\n$weekKey = $game . \"_week:\" . $DATA[\"key\"];                                                                    \r\n$score = $DATA[\"score\"];                                                                                       \r\n$member = $DATA[\"member\"];                                                                                     \r\n$timesKey = $game . \"_times:\" . $DATA[\"key\"];                                                                  \r\n$infoKey = $game . \"_user:user_info\";                                                                          \r\n                                                                                                               \r\n\/\/********************* \u6dfb\u52a0\u8ba1\u6570 ******************                                                            \r\nif($score != null)                                                                                             \r\n{                                                                                                              \r\n        $redisApi-&gt;SetTimes($timesKey, $member);                                                               \r\n}                                                                                                              \r\n                                                                                                               \r\n\/\/********************* \u8bbe\u7f6e\u5206\u6570 ***************                                                               \r\nif($score != null)                                                                                             \r\n{                                                                                                              \r\n        $redisApi-&gt;SetScore($weekKey, $score, $member);                                                        \r\n}                                                                                                              \r\n                                                                                                               \r\n\/\/***************** \u83b7\u53d6\u5206\u6570\u3001\u6392\u884c\u3001Top\u699c *************                                                        \r\n$myScore = $redisApi-&gt;GetScore($weekKey, $member);                                                             \r\n$myRank = $redisApi-&gt;GetRevRank($weekKey, $member);                                                            \r\n$topRankList = $redisApi-&gt;GetRevRange($weekKey, 0, 9, true);                                                   \r\n                                                                                                               \r\n\/\/***************** \u8f6c\u6362\u6570\u636e\u683c\u5f0f *******************                                                           \r\n$range = array();                                                                                                \r\nforeach ($topRankList as $key =&gt; $value) {                                                                     \r\n        $info = $redisApi-&gt;hGet($infoKey, $key);                                                               \r\n        $range[] = array(\"member\"=&gt;$key,\"score\"=&gt;$value,\"userInfo\"=&gt;$info);                                      \r\n                                                                                                               \r\n}                                                                                                              \r\n                                                                                                               \r\n$self =array(\"member\"=&gt;$member, \"score\"=&gt;$myScore, \"rank\"=&gt;$myRank);                                           \r\n                                                                                                               \r\n                                                                                                               \r\n\/\/***************** \u5c06\u6570\u636e\u8fd4\u56de\u5ba2\u6237\u7aef ********************                                                      \r\n$data-&gt;self = $self;                                                                                           \r\n$data-&gt;range =$range;                                                                                              \r\necho json_encode($data);                                                                                       \r\n?&gt;<\/pre>\n<p>C2S\u53c2\u6570\uff1a<\/p>\n<div id=\"crayon-5b0a9b8845a3a372138395\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-mac print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<pre class=\"lang:default decode:true\">game:\u6e38\u620f\u540d\u79f0\r\nmember:openid\r\nkey:\u5b9a\u4e49\u4e00\u4e2aKey\u540d\u79f0\u3002\u6211\u8fd9\u91cc\u662f\u5468\u699c\uff0c\u4f20\u7684\u662f\u5f53\u524d\u7b2c\u51e0\u5468\r\nscore:\u5206\u6570   \u53ef\u4ee5\u4e3a\u7a7a\uff08\u4e3a\u7a7a\u5219\u4e0d\u4e0a\u4f20\u5206\u6570\u3001\u4e0d\u6dfb\u52a0\u8ba1\u6570\uff0c\u4ec5\u83b7\u53d6\u6392\u884c\u6570\u636e\uff09<\/pre>\n<\/div>\n<\/div>\n<p>S2C\u53c2\u6570\uff1a<\/p>\n<p><img title=\"Php\u64cd\u4f5cRedis\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u6e38\u620f\u6392\u884c\u699c(\u4e09) - \u7b2c1\u5f20  | u3d8\u6280\u672f\u5206\u4eab\" alt=\"Php\u64cd\u4f5cRedis\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u6e38\u620f\u6392\u884c\u699c(\u4e09) - \u7b2c1\u5f20  | u3d8\u6280\u672f\u5206\u4eab\" loading=\"lazy\" class=\"wp-image-1754 alignnone\" src=\"http:\/\/www.u3d8.com\/wp-content\/uploads\/2018\/05\/QQ20180527-202603@2x-1024x837.png\" width=\"378\" height=\"309\" srcset=\"http:\/\/www.u3d8.com\/wp-content\/uploads\/2018\/05\/QQ20180527-202603@2x-1024x837.png 1024w, http:\/\/www.u3d8.com\/wp-content\/uploads\/2018\/05\/QQ20180527-202603@2x-300x245.png 300w, http:\/\/www.u3d8.com\/wp-content\/uploads\/2018\/05\/QQ20180527-202603@2x-768x628.png 768w, http:\/\/www.u3d8.com\/wp-content\/uploads\/2018\/05\/QQ20180527-202603@2x.png 1062w\" sizes=\"(max-width: 378px) 100vw, 378px\" \/><\/p>\n<h2>\u4e8c\u3001\u5ba2\u6237\u7aef\uff08\u767d\u9e6d\u5f15\u64ce\uff09\u8c03\u7528\u65b9\u6cd5<\/h2>\n<pre class=\"lang:php decode:true \">    public static GetRank(gameName, openId, score, onComplete = null, onError = null)\r\n    {\r\n        var params = {\r\n            \"game\" : gameName,\r\n            \"member\" : openId,\r\n            \"key\" : Tools.GetWeekOfYear(),\r\n        };\r\n        if(score != null)\r\n            params[\"score\"] = score;\r\n        var request = new egret.HttpRequest();\r\n        request.responseType = egret.HttpResponseType.TEXT;\r\n        request.open(\"http:\/\/www.xxxxxxxxxx.com\/wx_server\/game_over.php\",egret.HttpMethod.POST);\r\n        request.setRequestHeader(\"Content-Type\", \"application\/x-www-form-urlencoded\");\r\n        request.send(params);\r\n        request.addEventListener(egret.Event.COMPLETE, (event:egret.Event)=&gt;{\r\n            var r = &lt;egret.HttpRequest&gt;event.currentTarget;\r\n            var rjson = JSON.parse(r.response);\r\n            console.log(\"GetRank\", rjson);\r\n            if(onComplete != null)\r\n                onComplete(event);\r\n        },this);\r\n        request.addEventListener(egret.IOErrorEvent.IO_ERROR, onError,this);\r\n    }<\/pre>\n<p>\u6211\u8fd9\u91cc\u4f7f\u7528\u7684\u767d\u9e6d\uff08Egret\uff09\u5f15\u64ce\uff0c\u5176\u5b83\u5f15\u64ce\u53ef\u4ee5\u53c2\u8003http\u6587\u6863\u4fee\u6539\u4e0b\u5373\u53ef<\/p>\n<h2>\u4e09\u3001\u6d4b\u8bd5<\/h2>\n<p>\u5f53\u5ba2\u6237\u7aef\u6e38\u620f\u7ed3\u675f\uff0c\u8c03\u7528\u8be5\u63a5\u53e3\uff0c\u5c31\u4f1a\u4e0a\u4f20\u5206\u6570\u81f3\u670d\u52a1\u5668\uff0c\u670d\u52a1\u5668\u4f1a\u8fd4\u56de\u73a9\u5bb6\u6392\u884c\u548c\u8303\u56f4\u6392\u884c\u699c\u6570\u636e<\/p>\n<p>\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7phpRedisAdmin\u6765\u67e5\u770b<\/p>\n<p><img title=\"Php\u64cd\u4f5cRedis\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u6e38\u620f\u6392\u884c\u699c(\u4e09) - \u7b2c2\u5f20  | u3d8\u6280\u672f\u5206\u4eab\" alt=\"Php\u64cd\u4f5cRedis\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u6e38\u620f\u6392\u884c\u699c(\u4e09) - \u7b2c2\u5f20  | u3d8\u6280\u672f\u5206\u4eab\" loading=\"lazy\" class=\"alignleft size-medium wp-image-1755\" src=\"http:\/\/www.u3d8.com\/wp-content\/uploads\/2018\/05\/QQ20180527-203846@2x-300x183.png\" width=\"300\" height=\"183\" srcset=\"http:\/\/www.u3d8.com\/wp-content\/uploads\/2018\/05\/QQ20180527-203846@2x-300x183.png 300w, http:\/\/www.u3d8.com\/wp-content\/uploads\/2018\/05\/QQ20180527-203846@2x.png 406w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/> <img title=\"Php\u64cd\u4f5cRedis\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u6e38\u620f\u6392\u884c\u699c(\u4e09) - \u7b2c3\u5f20  | u3d8\u6280\u672f\u5206\u4eab\" alt=\"Php\u64cd\u4f5cRedis\u5b9e\u73b0\u5fae\u4fe1\u5c0f\u6e38\u620f\u6392\u884c\u699c(\u4e09) - \u7b2c3\u5f20  | u3d8\u6280\u672f\u5206\u4eab\" loading=\"lazy\" class=\"size-medium wp-image-1756 alignnone\" src=\"http:\/\/www.u3d8.com\/wp-content\/uploads\/2018\/05\/QQ20180527-203904@2x-300x270.png\" width=\"300\" height=\"270\" srcset=\"http:\/\/www.u3d8.com\/wp-content\/uploads\/2018\/05\/QQ20180527-203904@2x-300x270.png 300w, http:\/\/www.u3d8.com\/wp-content\/uploads\/2018\/05\/QQ20180527-203904@2x-768x691.png 768w, http:\/\/www.u3d8.com\/wp-content\/uploads\/2018\/05\/QQ20180527-203904@2x.png 874w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>\u81f3\u6b64\uff0c\u6211\u4eec\u7684\u6392\u884c\u699c\u529f\u80fd\u5c31\u5b8c\u6210\u4e86~~ \u00a0\u5e0c\u671b\u5927\u5bb6\u80fd\u591f\u6d4b\u8bd5\u6210\u529f\u3002<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e0a\u4e00\u4e2a\u6559\u7a0b\u6211\u4eec\u5b9e\u73b0\u4e86\u8bb0\u5f55\u73a9\u5bb6UserInfo\u6570\u636e \u8fd9\u6b21\u6559\u7a0b\u6211\u4eec\u6765\u5b9e\u73b0 \u5b9e\u73b0\u83b7\u53d6\u6307 &hellip; <a href=\"http:\/\/www.u3d8.com\/?p=1752\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1756,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[103,343],"tags":[357,363],"_links":{"self":[{"href":"http:\/\/www.u3d8.com\/index.php?rest_route=\/wp\/v2\/posts\/1752"}],"collection":[{"href":"http:\/\/www.u3d8.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.u3d8.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.u3d8.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.u3d8.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1752"}],"version-history":[{"count":6,"href":"http:\/\/www.u3d8.com\/index.php?rest_route=\/wp\/v2\/posts\/1752\/revisions"}],"predecessor-version":[{"id":1769,"href":"http:\/\/www.u3d8.com\/index.php?rest_route=\/wp\/v2\/posts\/1752\/revisions\/1769"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.u3d8.com\/index.php?rest_route=\/wp\/v2\/media\/1756"}],"wp:attachment":[{"href":"http:\/\/www.u3d8.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.u3d8.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1752"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.u3d8.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}