(四)Redis之哈希
一、哈希常用命令
- 赋值
- 取值
- 删除
- 增加数字
- 判断字段是否存在
- 获取hash属性个数
- 获取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为:"+"\t"+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("长度为"+"\t"+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); }