zoukankan      html  css  js  c++  java
  • 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));
        }
    }
  • 相关阅读:
    多个div并排显示的居中问题——来自腾讯的一道面试题
    c++ 类的对象与指针
    c++ 联合体
    用户输入一个数字,找到所有能够除尽它的数的总个数
    javascript
    今天的排版
    论学习php的方法
    我想对所有新程序员说的一些话
    注册表单
    安卓机器人
  • 原文地址:https://www.cnblogs.com/weibanggang/p/10189348.html
Copyright © 2011-2022 走看看