Redis的hash数据类型及其应用场景解析---购物车
1.Hash数据结构Redis中的Hashes类型可以看成具有String Key和String Value的map容器2.Hash存储购物车数据的操作3.java代码实现import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import
·
1.Hash数据结构
Redis中的Hashes类型可以看成具有String Key和String Value的map容器
2.Hash存储购物车数据的操作
3.java代码实现
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
/**
*
*/
/**
* <p>Title: RedisHashTest</p>
* <p>Description: </p>
* <p>Company: </p>
* @author 夏 杰
* @date 2015年12月14日 上午11:12:57
* @vesion 1.0
*/
public class RedisHashTest {
Jedis jedis = null;
@Before
public void before(){
jedis = new Jedis("127.0.0.1",6379);
}
@After
public void after(){
jedis.disconnect();
}
/**
* 插入一条数据
*
*/
@Test
public void hset(){
// 插入一条hash数据(购物车)到redis库中
jedis.hset("cart:user00001", "深入理解JVM", "1");
}
/**
* 插入多条数据
*/
@Test
public void hmset(){
//一次性往已经存在的这条hash数据(购物车)中添加多个field-value对
HashMap<String, String> productMap= new HashMap<String, String>();
productMap.put("SpringMVC从入门到精通", "2");
productMap.put("高级JS攻城狮宝典", "2");
//hmset添加多条数据
jedis.hmset("cart:user00001", productMap);
}
/**
* 只取出所有的key-value
*/
@Test
public void hgetAll(){
//从购物车中获取指定用户的,所有的商品及其数量
Map<String, String> catMap = jedis.hgetAll("cart:user00001");
Set<Entry<String, String>> entrySet = catMap.entrySet();
System.out.println("----------取出购物篮中的商品及数量信息---------");
for(Entry<String, String> entry:entrySet){
System.out.println(entry.getKey() +":" +entry.getValue());
}
}
/**
* 只取出所有的keys
*/
@Test
public void hkeys(){
System.out.println("----------只取出购物篮中的商品列表---------");
// 从购物车中获取所有的商品
Set<String> products = jedis.hkeys("cart:user00001");
for(String p:products){
System.out.println(p);
}
}
}
输出结果
更多推荐
已为社区贡献6条内容
所有评论(0)