Redis(RedisTemplate)使用hash哈希

RedisTemplate配置:https://www.cnblogs.com/weibanggang/p/10188682.html

package com.wbg.springRedis.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.data.redis.core.RedisTemplate;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TestHash {
    static RedisTemplate redisTemplate = null;

    public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-redis.xml");
        redisTemplate = applicationContext.getBean(RedisTemplate.class);
        String key = "hash";
        Map<String, String> map = new HashMap<>();
        map.put("filed1", "value1");
        map.put("filed2", "value2");
        //相当于hmset
        redisTemplate.opsForHash().putAll(key, map);
        //相当于hset
        redisTemplate.opsForHash().put(key, "filed3", "10");
        //相当于hexists key filed //是否存在
        boolean bool = redisTemplate.opsForHash().hasKey(key, "filed3");
        System.out.println(bool);
        //相当于hgetall {filed1=value1, filed2=value2, filed3=10}获取所有hash的键=值
        Map map1 = redisTemplate.opsForHash().entries(key);
        System.out.println(map1);
        //hincrby //加5  如果是原数据是float类型会异常
        redisTemplate.opsForHash().increment(key, "filed3", 5);
        pring("filed3");
        //hincrbyfloat 2.3
        redisTemplate.opsForHash().increment(key, "filed3", 2.2);
        pring("filed3");
        //hvals [value1, value2, 17.199999999999999] 获取所有的value
        System.out.println(redisTemplate.opsForHash().values(key));
        //hkeys [filed1, filed2, filed3] //获取所有的键
        System.out.println(redisTemplate.opsForHash().keys(key));
        List<String> list = new ArrayList<>();
        list.add("filed1");
        list.add("filed2");
        //hmget  [value1, value2] // 获取对于的键  值 没有就返回空
        System.out.println(redisTemplate.opsForHash().multiGet(key, list));
        //hsetnx 不存在的时候才会设置进入true   否则返回false
        System.out.println(redisTemplate.opsForHash().putIfAbsent(key,"filed4", "value4"));
        //hdel 返回删除个数
        System.out.println(redisTemplate.opsForHash().delete(key,"filed1","filed2","filed6"));

    }

    public static void pring(String filed) {
        System.out.println(redisTemplate.opsForHash().get("hash", filed));
    }
}

 

posted @ 2018-12-28 11:09  韦邦杠  阅读(26540)  评论(0编辑  收藏  举报