Redis的hash数据类型及其应用场景解析---购物车

1.Hash数据结构

Redis中的Hashes类型可以看成具有String KeyString Valuemap容器

Redis的hash数据类型及其应用场景解析---购物车_第1张图片

2.Hash存储购物车数据的操作

Redis的hash数据类型及其应用场景解析---购物车_第2张图片

Redis的hash数据类型及其应用场景解析---购物车_第3张图片

Redis的hash数据类型及其应用场景解析---购物车_第4张图片

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;

/**
 * 
 */

/**
 * 

Title: RedisHashTest

*

Description:

*

Company:

* @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 productMap= new HashMap(); productMap.put("SpringMVC从入门到精通", "2"); productMap.put("高级JS攻城狮宝典", "2"); //hmset添加多条数据 jedis.hmset("cart:user00001", productMap); } /** * 只取出所有的key-value */ @Test public void hgetAll(){ //从购物车中获取指定用户的,所有的商品及其数量 Map catMap = jedis.hgetAll("cart:user00001"); Set> entrySet = catMap.entrySet(); System.out.println("----------取出购物篮中的商品及数量信息---------"); for(Entry entry:entrySet){ System.out.println(entry.getKey() +":" +entry.getValue()); } } /** * 只取出所有的keys */ @Test public void hkeys(){ System.out.println("----------只取出购物篮中的商品列表---------"); // 从购物车中获取所有的商品 Set products = jedis.hkeys("cart:user00001"); for(String p:products){ System.out.println(p); } } }


输出结果

Redis的hash数据类型及其应用场景解析---购物车_第5张图片











你可能感兴趣的:(Redis)