(四)Redis之哈希

一、哈希常用命令

  1. 赋值  
  2. 取值
  3. 删除
  4. 增加数字
  5. 判断字段是否存在
  6. 获取hash属性个数
  7. 获取hash所有属性名称

  1.2.3  赋值取值和删除

package myRedis01;

import java.util.HashMap;
import java.util.Map;

import org.junit.After;
import org.junit.Test;

import redis.clients.jedis.Jedis;

public class JedisTest {
     
     Jedis jedis=new Jedis("127.0.0.1",6379); // 创建客户端 设置IP和端口
    
 
     /**
      * 赋值取值和删除
      */
    @Test
    public void getAndSetAndDel() {
        /**
         * 单个赋值
         */
        jedis.hset("用户表", "userName", "张三");
        String userName=jedis.hget("用户表", "userName");
        System.out.println(userName);
        
        jedis.hdel("用户表", "userName");
        System.out.println(jedis.hget("用户表", "userName"));
        
        /**
         * 多个一起赋值
         */
        Map<String,String> hash=new HashMap<String,String>();
        hash.put("password", "123");
        hash.put("sex", "男");
        jedis.hmset("用户表", hash);
        System.out.println(jedis.hmget("用户表", "password","sex"));
        
    }
     
     @After
     public void close() {
         jedis.close();
     }
     
}

   4.  增加数字

/**
     * 增加数字
     */
    @Test
    public void add() {
        jedis.hset("用户表", "age", "5");
        jedis.hincrBy("用户表","age", 2);
        System.out.println("增加后的age为:"+"	"+jedis.hget("用户表","age"));
    }

   5.  判断字段是否存在

@Test
    public void exist() {
        jedis.hset("用户表1", "userName", "admin");
        boolean flag1=jedis.hexists("用户表1", "userName");
        boolean flag2=jedis.hexists("用户表1", "password");
        System.out.println(flag1);
        System.out.println(flag2);
    }

   6.7.  获取hash属性个数和所有属性名称和值

/**
     *  获取hash属性个数和所有属性名称
     */
    @Test
    public void getLengthsAndAttribute() {
        /**
         *获取长度
         */
        jedis.hset("用户表2", "userName", "admin");
        jedis.hset("用户表2", "password", "123");
        jedis.hset("用户表2", "age", "20");
        long Length=jedis.hlen("用户表2");
        System.out.println("长度为"+"	"+Length);
        
        /**
         * 获取所有属性名称
         */
        Set<String> sets=jedis.hkeys("用户表2");
        
        for(String str:sets) {
            System.out.println(str);
        }
        System.out.println("===================");
        
        /**
         * 获取所有属性的值
         */
        List<String> strList=jedis.hvals("用户表2");
        System.out.println(strList);
        
    }

原文地址:https://www.cnblogs.com/shyroke/p/8007100.html