4.1.1 Hash类型操作
创建测试类 TestHash
(1)存入值
@Test
public void testSetValue(){ redisTemplate.boundHashOps("namehash").put("a", "唐僧");
redisTemplate.boundHashOps("namehash").put("b", "悟空"); redisTemplate.boundHashOps("namehash").put("c", "八戒");
redisTemplate.boundHashOps("namehash").put("d", "沙僧");
}
(2)提取所有的 KEY
@Test
public void testGetKeys(){
Set s = redisTemplate.boundHashOps("namehash").keys(); System.out.println(s);
}
运行结果:
[a, b, c, d]
(3)提取所有的值
@Test
public void testGetValues(){
List values = redisTemplate.boundHashOps("namehash").values(); System.out.println(values);
}
运行结果:
[唐僧, 悟空, 八戒, 沙僧]
(4)根据 KEY 提取值
@Test
public void testGetValueByKey(){
Object object = redisTemplate.boundHashOps("namehash").get("b");
System.out.println(object);
}
运行结果:
悟空
(5)根据 KEY 移除值
@Test
public void testRemoveValueByKey(){ redisTemplate.boundHashOps("namehash").delete("c");
}
运行后再次查看集合内容:
[唐僧, 悟空, 沙僧]
5.网站首页-缓存广告数据
5.1 需求分析
现在我们首页的广告每次都是从数据库读取,这样当网站访问量达到高峰时段,对数据库压力很大,并且影响执行效率。我们需要将这部分广告数据缓存起来。
5.2 读取缓存
5.2.1 公共组件层
因为缓存对于我们整个的系统来说是通用功能。广告需要用,其它数据可能也会用到,所以我们将配置放在公共组件层(pinyougou-common)中较为合理。
(1)pinyougou-common 引入依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
</dependency>
(2)创建配置文件
将资源中的redis-config.properties 和applicationContext-redis.xml 拷贝至pinyougou-common
(3)pinyougou-content-service 依赖 pinyougou-common