$type = $Redis->type($key); $expire = $Redis->ttl($key); switch ($type) { case $Redis::REDIS_STRING: //echo "string\n"; $arr['expire'] = $expire; $arr['type'] = $type; $arr['key'] = $key; $arr['val'] = $Redis->get($key); break; case $Redis::REDIS_HASH: //echo "hash\n"; $arr['expire'] = $expire; $arr['type'] = $type; $arr['key'] = $key; $arr['val'] = $Redis->hGetAll($key); break; case $Redis::REDIS_LIST: //echo "list\n"; $arr['expire'] = $expire; $arr['type'] = $type; $arr['key'] = $key; $arr['val'] = $Redis->lRange($key, 0, -1); break; case $Redis::REDIS_SET: //echo "set\n"; $arr['expire'] = $expire; $arr['type'] = $type; $arr['key'] = $key; $arr['val'] = $Redis->sMembers($key); break;
public function test_redis($loop_times) { $tbname = $this->tbname; $dbname = $this->dbname; $start_time = microtime(true); for ($i = 0; $i < $loop_times; $i++) { ## for ($j = 0; $j < 5; $j++){ $redis = new redis(); $redis->connect('127.0.0.1', 6379); $redis->hGetAll("{$tbname}"); ## } } $end_time = microtime(true); $rstime = $end_time - $start_time; return $rstime; }
<?php header("content-type:text/html;charset=utf-8"); $redis = new redis(); $result = $redis->connect('127.0.0.1', 6379); $mywatchkey = $redis->get("mywatchkey"); $rob_total = 10; //抢购数量 if ($mywatchkey < $rob_total) { $redis->watch("mywatchkey"); $redis->multi(); //设置延迟,方便测试效果。 sleep(5); //插入抢购数据 $redis->hSet("mywatchlist", "user_id_" . mt_rand(1, 9999), time()); $redis->set("mywatchkey", $mywatchkey + 1); $rob_result = $redis->exec(); if ($rob_result) { $mywatchlist = $redis->hGetAll("mywatchlist"); echo "抢购成功!<br/>"; echo "剩余数量:" . ($rob_total - $mywatchkey - 1) . "<br/>"; echo "用户列表:<pre>"; } else { echo "手气不好,再抢购!"; exit; } } ?>