1.hashSet(String key, Object hashKey, Object value)

   /**
     * hash类型缓存放入
     *
     * @param key     键
     * @param hashKey 哈希键
     * @param value   值
     * @return true 成功 false 失败
     */
    public boolean hashSet(String key, Object hashKey, Object value) {
        try {
            redisTemplate.opsForHash().put(key, hashKey, value);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

2. hashSetIfAbsent(String key, Object hashKey, Object value)

	 /**
     * 如果该 hashKey 已经存在,则不改变其值,不存在则将该 hashKey 放入缓存
     *
     * @param key     键
     * @param hashKey 哈希键
     * @param value   值
     * @return 如果该 hashKey 存在就返回 false,如果该 hashKey 不存在就返回ture
     */
    public boolean hashSetIfAbsent(String key, Object hashKey, Object value) {
        return redisTemplate.opsForHash().putIfAbsent(key, hashKey, value);
    }

3.hashGet(String key, Object hashKey)

    /**
     * hash类型缓存获取 hashKey
     *
     * @param key     键
     * @param hashKey 哈希键
     * @return 值
     */
    public Object hashGet(String key, Object hashKey) {
        return key == null ? null : redisTemplate.opsForHash().get(key, hashKey);
    }

4. hashKeys(String key)

 	/**
     * 获取该 key 对应的所有的 hashKey
     *
     * @param key 键
     * @return 该 key 对应的所有的 hashKey
     */
    public Set<String> hashKeys(String key) {
        return redisTemplate.opsForHash().keys(key);
    }

5. hashGetAll(String key)

	 /**
     * hash类型缓存获取该 key 对应的所有的 hashKey-value 对
     *
     * @param key 键
     * @return 该 key 对应的所有的 hashKey-value 对
     */
    public Map<Object, Object> hashGetAll(String key) {
        return redisTemplate.opsForHash().entries(key);
    }

6.hashExists(String key, String hashKey)

 	 /**
     * 判断 hashKey 是否存在
     *
     * @param key     键
     * @param hashKey 哈希键
     * @return true 存在 false 不存在
     */
    public boolean hashExists(String key, String hashKey) {
        return redisTemplate.opsForHash().hasKey(key, hashKey);
    }

7.hashDelete(String key, Object… hashKey)

 	/**
     * 删除 hashKey
     *
     * @param key     键
     * @param hashKey 哈希键
     * @return 被删除的 hashKey 的数量,不包括本来就不存在的 hashKey
     */
    public Long hashDelete(String key, Object... hashKey) {
        return redisTemplate.opsForHash().delete(key, hashKey);
    }

8.hashIncr(String key, Object hashKey, long delta)

/**
     * 递增
     *
     * @param key     键
     * @param hashKey 哈希键
     * @param delta   要增加几
     * @return 增加后的 hashKey 的值
     */
    public long hashIncr(String key, Object hashKey, long delta) {
        if (delta < 0) {
            throw new RuntimeException("递增因子必须大于0");
        }
        return redisTemplate.opsForHash().increment(key, hashKey, delta);
    }

9.hashDecr(String key, Object hashKey, long delta)

   /**
     * 递减
     *
     * @param key     键
     * @param hashKey 哈希键
     * @param delta   要减少几
     * @return 减少后的 hashKey 的值
     */
    public long hashDecr(String key, Object hashKey, long delta) {
        if (delta < 0) {
            throw new RuntimeException("递减因子必须大于0");
        }
        return redisTemplate.opsForHash().increment(key, hashKey, -delta);
    }
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐