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 只能删除单个字段
}
<?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 只能删除单个字段
}
相关文章推荐
- DotNET企业架构应用实践-系统架构与性能-缓存技术与ORM中的缓存查询技术
- Oracle问题小记五:服务启动-索引-子查询-分页存储过程
- Redis 存储、查询
- Redis 存储分片之代理服务Twemproxy 测试
- 缓存服务新思路,创建动态查询的缓存
- DotNET企业架构应用实践-系统架构与性能-缓存技术与ORM中的缓存查询技术
- php查询mysql并缓存到redis
- Redis缓存服务搭建及实现数据读写
- 【问底】Yao Yu:谈Twitter的百TB级Redis缓存实践
- Redis缓存服务配置与使用
- 支持存储的开源KV缓存方案Membase和Redis特性比较
- Redis缓存服务搭建及实现数据读写--转载
- Redis缓存服务搭建及实现数据读写
- Redis 存储分片之代理服务Twemproxy 测试
- 怎么样使用Redis来存储和查询ip数据
- DotNET企业架构应用实践-系统架构与性能-在业务中实例使用缓存与缓存查询-附上视频
- Redis缓存服务搭建及实现数据读写
- Linux Redhat 6.4 Redis 2.6.14 缓存服务 完全安装手册
- 单服务缓存redis工具类
- php查询mysql并缓存到redis