RedisTemplate 中hash方法的使用

时间:2025-04-04 12:41:40
  • package com;
  • import ;
  • import ;
  • import ;
  • import ;
  • import ;
  • import .Test;
  • import ;
  • import .factory.;
  • import .test.;
  • import .data.;
  • import .test.4.SpringRunner;
  • @RunWith(SpringRunner.class)
  • @SpringBootTest
  • public class SpringbootRedisAppMap {
  • /****
  • *
  • * redisTemplate 操作 Map
  • *
  • */
  • @Autowired
  • private RedisTemplate<String, String> redisTemplate;
  • /****
  • *
  • *单个的方式写入redis
  • */
  • @Test
  • public void MapRedis0() {
  • ().put("map1", "k1", "value1");
  • ().put("map1", "k2", "value2");
  • ().put("map1", "k3", "value3");
  • ().put("map1", "k4", "value4");
  • }
  • /****
  • *
  • *声明的方式写入redis
  • */
  • @Test
  • public void MapRedis() {
  • Map map=new HashMap<>();
  • ("k1", "value1");
  • ("k2", "value2");
  • ("k3", "value3");
  • ("k4", "value4");
  • ().putAll("map2", map);
  • }
  • /****
  • *放置在后面(有点追加的意思)
  • *
  • */
  • @Test
  • public void MapRedis2() {
  • ().putIfAbsent("map2", "k5", "value5");
  • }
  • /****
  • *
  • *直接根据redis 的key 把map给删除了
  • */
  • @Test
  • public void MapRedis3() {
  • redisTemplate.delete("map1");
  • }
  • /****
  • *
  • *根据redis的key 和hash 的key 删除当个 value
  • */
  • @Test
  • public void MapRedis4() {
  • ().delete("map2", "k5");
  • }
  • /****
  • *
  • *根据redis 的key 判断hash是否存在,有返回true, 不存在返回false
  • */
  • @Test
  • public void MapRedis5() {
  • ("map2");
  • (("map2"));
  • }
  • /****
  • *
  • *根据redis的key和map的key 判断 hash的key是否存在, 存在返回true,不存在返回 false
  • */
  • @Test
  • public void MapRedis6() {
  • ().hasKey("map2", "k4");
  • ().hasKey("map2", "k5");
  • (().hasKey("map2", "k4"));
  • (().hasKey("map2", "k5"));
  • }
  • /****
  • *
  • *给hash设置过期时间
  • */
  • @Test
  • public void MapRedis7() {
  • Map map=new HashMap<>();
  • ("k1", "value1");
  • ("k2", "value2");
  • ("k3", "value3");
  • ("k4", "value4");
  • ().putAll("map3", map);
  • ("map3", 1000, );
  • //NANOSECONDS 纳秒
  • //MICROSECONDS 微秒
  • //MILLISECONDS 毫秒
  • //SECONDS 秒
  • //MINUTES 分钟
  • //HOURS 小时
  • //DAYS 天
  • }
  • /****
  • *
  • *获取过期时间,根据你默认存储进去的数据类型
  • */
  • @Test
  • public void MapRedis8() {
  • ("map3");
  • (("map3"));
  • }
  • /****
  • *
  • *获取过期时间,自定义获取的时间类型
  • */
  • @Test
  • public void MapRedis9() {
  • ("map3", );
  • (("map3", ));
  • }
  • /****
  • *
  • *根据 redis 的key ,和 hash 的key 获取 hash里面的value
  • */
  • @Test
  • public void MapRedis10() {
  • ().get("map3", "k1");
  • ().get("map3", "k2");
  • ().get("map3", "k3");
  • ( ().get("map3", "k1"));
  • ( ().get("map3", "k2"));
  • ( ().get("map3", "k3"));
  • }
  • /****
  • *
  • * 以数据的形式获取hash的value
  • */
  • @Test
  • public void MapRedis11() {
  • Collection<Object> keys = new ArrayList<>();
  • keys.add("k1");
  • keys.add("k2");
  • keys.add("k3");
  • ().multiGet("map3", keys);
  • (().multiGet("map3", keys));
  • }
  • /****
  • *
  • *根据redis的 key 获取key对应的hash表的所有键值对
  • */
  • @Test
  • public void MapRedis12() {
  • Map<Object, Object> entries = ().entries("map3");
  • (entries);
  • }
  • }