redis学习运用

因为工作中用到了redis,所以今天就大概简洁的总结下:

通过ssh远程连接到reids的命令(远程的机器需要安装redis):

进入跟目录-->redis-(再按几下tab键)-->redis-cli -p 6481

-->select 5 --> keys * 

例如我的远程机器(160):

# redis-(这里按几下tab键,出现下面几个)

redis-benchmark   redis-check-aof   redis-check-dump  redis-cli         redis-server   

# redis-cli -p 6481   // 6481是端口

127.0.0.1:6481> 

127.0.0.1:6481> select 1   // 选择数据库1

OK

127.0.0.1:6481[5]> keys *    // 显示所有的keys

...

...

568) "development:1:Query:acc801e32d88c47eb22759d2b174cf6e"

569) "development:1:Query:ae96a51cab2799adca1ffb2184a6e303"

570) "development:1:Query:6735653e8a6e878a97ea75336d5a5d22"

571) "development:1:Query:655ba27ea2e2e063b169dab0000a36c2"

572) "development:1:DBAConnection:9f60d7422f8905df47c295666e4ba218"

573) "development:1:user_online_time_20150414:100027001"

// 对于redis的其他命令网上有很多的,可以在本地装下玩玩;

我本地wamp下链接redis上的数据库并读取数据:

key: card(表名)
Hash Key Hash value
19523 {"card_id":"19523","user_id":"10948","card_number":"100101","level":"1","experience":"0","shooting":"765","grapple":"765","reaction":"90","arousal":"765","hp":"0","attack":"0","defense":"0","hit":"0","dodge":"0","critical":"0","uprising":"0","agile":"0","protect_flg":"0","deposit_flg":"0","del_flg":"0","enhancement_synthesis_material_num":"0","skill_addition_synthesis_material_num":"0","skill_deletion_synthesis_num":"0","classes":"0","update_dt":"2015-03-29 17:28:03","create_dt":"2015-03-29 17:28:03"}
25 {"id":25,"user_id":100026001,"card_number":"101003","level":1,"experience":0,"shooting":"1329","grapple":"1329","reaction":"156","arousal":"1329","hp":"0","attack":"0","defense":"0","hit":"0","dodge":"0","critical":"0","uprising":"0","agile":"0","protect_flg":1,"deposit_flg":0,"del_flg":0,"enhancement_synthesis_material_num":0,"skill_addition_synthesis_material_num":0,"skill_deletion_synthesis_num":0,"classes":0,"update_dt":"2015-04-13 11:36:49","create_dt":"2015-04-11 17:59:34"}

上面是通过软件(redis desktop manager)展示的个别测试数据是text格式的(可将View value as "json"):

{

    "agile": "0",

    "arousal": "765",

    "attack": "0",

    "classes": "0",

    "create_dt": "2015-03-29 15:48:22",

    "critical": "0",

    "defense": "0",

    "del_flg": "0",

    "deposit_flg": "0",

    "dodge": "0",

    "enhancement_synthesis_material_num": "0",

    "experience": "0",

    "grapple": "765",

    "hit": "0",

    "hp": "0",

    "level": "1",

    "card_number": "100101",

    "card_id": "19520",

    "protect_flg": "0",

    "reaction": "90",

    "shooting": "765",

    "skill_addition_synthesis_material_num": "0",

    "skill_deletion_synthesis_num": "0",

    "update_dt": "2015-03-29 15:48:22",

    "uprising": "0",

    "user_id": "10939"

}

代码:

<?php

//Connecting to Redis server on localhost

   $redis = new Redis();

   $redis->connect('192.168.0.160', 6482);

   //echo "Connection to server sucessfully";

   //echo "Server is running: "+ $redis->ping();

//$redis = MemcacheControlFactory::singleton()->getUserRedis();

$arr   = array();

$res   = $redis->hgetall('pilot_card_tbl');

foreach ($res as $json){

//$arr[] = new PilotCardTbl(json_decode($json, true));

$arr[] = json_decode($json, true);

}

//echo '<pre>';

//print_r($arr);exit;

//$userall = self::getAll();

//$pipe = MemcacheControlFactory::singleton()->getUserRedis()->multi(Redis::PIPELINE);

$userdata = array();

$string = '';

foreach($arr as $key=>$val){

$string = 'user:'.$val['user_id']. ":pilot_card_tbl";

$redis->hSet($string, $val['pilot_id'],time());

}

?>

// 时间关系有关redis的增删改查等公共方法(里面涉及到redis命令)请在下篇博客里关注,谢谢!

猜你喜欢

转载自chenhaibo0806999.iteye.com/blog/2202754