您的位置:首页 > 数据库 > Redis

redis缓存服务实践一(表的存储与查询)

2017-03-30 21:02 411 查看
redis中表的数据存储

<?php
/*
redis 测试数据
HMSET goods:1 goods_id 1 goods_name 'iPhone7' stock 100 price 3900
HMSET goods:2 goods_id 2 goods_name '鼠标' stock 88 price 38
HMSET goods:3 goods_id 3 goods_name '书包' stock 12 price 48
HMSET goods:4 goods_id 4 goods_name 'php' stock 2 price 88
HMSET goods:5 goods_id 5 goods_name 'java' stock 5 price 55
HMSET goods:6 goods_id 6 goods_name 'golang' stock 3 price 66
HMSET goods:7 goods_id 7 goods_name 'mac' stock 1 price 8900
HMSET goods:8 goods_id 8 goods_name 'htc' stock 10 price 1200
*/

$redis = new Redis();

$goods = array(
array('goods_id'=>1,'goods_name'=>'iPhone7','stock'=>100,'price'=>3900),
array('goods_id'=>2,'goods_name'=>'鼠标','stock'=>88,'price'=>38),
array('goods_id'=>3,'goods_name'=>'书包','stock'=>12,'price'=>48),
array('goods_id'=>4,'goods_name'=>'php','stock'=>2,'price'=>88),
array('goods_id'=>5,'goods_name'=>'java','stock'=>5,'price'=>55),
array('goods_id'=>6,'goods_name'=>'golang','stock'=>3,'price'=>66),
array('goods_id'=>7,'goods_name'=>'mac','stock'=>1,'price'=>8900),
array('goods_id'=>8,'goods_name'=>'htc','stock'=>10,'price'=>1200)
);
#---------------存储数据
foreach($goods as $goods){
$redis->lpush('goods',$goods['goods_id']); #使用列表存储 键值id
$redis->hmset('goods:'.$goods['goods_id'],$goods); #使用 多值集合存储所有字段
}
#---------------读取数据
/*
$len = $redis->llen('goods');
$goods_ids = $redis->lrange('goods',0,$len-1);
或者下面 第一行代码
*/
$goods_ids = $redis->sort('goods');
foreach($goods as $id)
$goods[] = $redis->hgetall('goods:'.$id);
}

//删除单条数据
//if($redis->hexists('goods:1','goods_id')){
if($redis->exists('goods:1')){
$redis->del('goods:1'); #这里只能用del 用hdel 只能删除单个字段
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis