Redis之Hash类型的使用

Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

// 定义field**
public static final String FIELD = "Handler";

插入数据 

public  void  toNet(){
    log.info("=====>>>>>测试redis-Hash插入数据!");
    RedisTemplate redisTemplate = redisConfigurtion.redisTemplate(null);
    String key = JalorUtils.getKey();
    RedisHandler handler = new RedisHandler();
    handler.setHandid(key);
    handler.setCreatetime(new Date());
    handler.setHandle("测试-使用HASH类型,XXX正在看我的代码!");
    handler.setType(0);
    // 创建HashMap
    Map map = new HashMap();
    // 将pojo对象存入map中,这里需要将pojo对象序列化一下
    map.put(key, JSON.toJSONString(handler));
    // 将Map写入redis数据库
    redisTemplate.opsForHash().put(key, FIELD, map);
}

获取数据

@Scheduled(cron = "0/10 * * * * *")
public  void  getRedisData(){
    log.info("=====>>>>>获取redis数据!");
    // redis格式化工具
    RedisTemplate redisTemplate = redisConfigurtion.redisTemplate(null);
    // 获取redis数据
//        List list = readisKVController.getRedis();
    List list = readisKVController.getRedisByHash(FIELD);
    log.info("Redis数据库中共[ "+ String.valueOf(list.size()) +" ]条数据!");
    if (list.size() > 0) {
        // 插入数据库
        redisHandleService.add(list);
        // 获取redis所有的KEY
        Set keys = redisTemplate.keys("*");
        // 清空redis数据库
        redisTemplate.delete(keys);
    }
}

需要源码请到站内留言,必将奉上。

更多更全案例,百度一下:

嘉乐博客系统

www.syjalor.com

www.blog.syjalor.com

你可能感兴趣的:(redis,redisTemplate,hash)