1. public static void testHsh() {
  2. System.out.println("==Hash==");
  3. Jedis jedis = RedisUtil.getJedis();
  4. try {
  5. Map<String, String> pairs = new HashMap<String, String>();
  6. pairs.put("name", "Akshi");
  7. pairs.put("age", "2");
  8. pairs.put("sex", "Female");
  9. jedis.hmset("kid", pairs);
  10. List<String> name = jedis.hmget("kid", "name");// 结果是个泛型的LIST
  11. // jedis.hdel("kid","age"); //删除map中的某个键值
  12. System.out.println(jedis.hmget("kid", "pwd")); // 因为删除了,所以返回的是null
  13. System.out.println(jedis.hlen("kid")); // 返回key为user的键中存放的值的个数
  14. System.out.println(jedis.exists("kid"));// 是否存在key为user的记录
  15. System.out.println(jedis.hkeys("kid"));// 返回map对象中的所有key
  16. System.out.println(jedis.hvals("kid"));// 返回map对象中的所有value
  17. Iterator<String> iter = jedis.hkeys("kid").iterator();
  18. while (iter.hasNext()) {
  19. String key = iter.next();
  20. System.out.println(key + ":" + jedis.hmget("kid", key));
  21. }
  22. List<String> values = jedis.lrange("messages", 0, -1);
  23. values = jedis.hmget("kid", new String[] { "name", "age", "sex" });
  24. System.out.println(values);
  25. Set<String> setValues = jedis.zrange("hackers", 0, -1);
  26. setValues = jedis.hkeys("kid");
  27. System.out.println(setValues);
  28. values = jedis.hvals("kid");
  29. System.out.println(values);
  30. pairs = jedis.hgetAll("kid");
  31. System.out.println(pairs);
  32. } catch (Exception e) {
  33. e.printStackTrace();
  34. } finally {
  35. RedisUtil.getPool().returnResource(jedis);
  36. }
  37. // 清空数据
  38. System.out.println(jedis.flushDB());
  39. // 添加数据
  40. jedis.hset("hashs", "entryKey", "entryValue");
  41. jedis.hset("hashs", "entryKey1", "entryValue1");
  42. jedis.hset("hashs", "entryKey2", "entryValue2");
  43. // 判断某个值是否存在
  44. System.out.println(jedis.hexists("hashs", "entryKey"));
  45. // 获取指定的值
  46. System.out.println(jedis.hget("hashs", "entryKey")); // 批量获取指定的值
  47. System.out.println(jedis.hmget("hashs", "entryKey", "entryKey1"));
  48. // 删除指定的值
  49. System.out.println(jedis.hdel("hashs", "entryKey"));
  50. // 为key中的域 field 的值加上增量 increment
  51. System.out.println(jedis.hincrBy("hashs", "entryKey", 123l));
  52. // 获取所有的keys
  53. System.out.println(jedis.hkeys("hashs"));
  54. // 获取所有的values
  55. System.out.println(jedis.hvals("hashs"));
  56. }

redis hash怎么用的更多相关文章

  1. python处理json和redis hash的坑

    1.使用MySQLdb读取出来的数据是unicode字符串,如果要写入redis的hash中会变成 "{u'eth0_outFlow': 2.5, u'eth1_inFlow': 3.44} ...

  2. redis学习(二) Redis Hash

    Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿). redis ...

  3. redis hash map

    redis hash的使用详见文章:http://www.miaoyueyue.com/archives/235.html hash操作命令如下: hset(key, field, value):向名 ...

  4. ***Redis hash是一个string类型的field和value的映射表.它的添加、删除操作都是O(1)(平均)。hash特别适合用于存储对象

    http://redis.readthedocs.org/en/latest/hash/hset.html HSET HSET key field value   (存一个对象的时候key存) 将哈希 ...

  5. Redis hash数据类型操作

    Redis hash是一个string类型的field和value的映射表.一个key可对应多个field,一个field对应一个value.将一个对象存储 为hash类型,较于每个字段都存储成str ...

  6. Redis hash 类型及操作

    原文:http://blog.sina.com.cn/s/blog_5f044a4d0102v01k.html Redis hash是一个string类型的field和value的映射表.它的添加.删 ...

  7. Redis学习第三课:Redis Hash类型及操作

    Redis hash是一个string类型的field和value的映射表.它的添加.删除操作都是O(1)(平均).hash特别适用于存储对象.相较于对象的每个字段存在单个string类型.将一个对象 ...

  8. Python --Redis Hash操作

    一.Redis Hash操作 Redis 数据库hash数据类型是一个string类型的key和value的映射表,适用于存储对象.Redis 中每个 hash 可以存储 232 - 1 键值对(40 ...

  9. C#操作Redis Hash数据表

    /// <summary> /// Redis Hash /// </summary> public static void Redis_Hash() { RedisClien ...

  10. Redis hash(哈希)

    Redis hash可储存多个键值对,适合储存对象的属性. 1.hset key fieldName fileValue    //hset即hash set,set这里是设置的意思.往hash中添加 ...

随机推荐

  1. iptables 无法连外网

    [root@v01-svn-test-server ~]# service iptables status Table: filter Chain INPUT (policy DROP) num ta ...

  2. 使用show profiles分析SQL性能

    如何查看执行SQL的耗时 使用show profiles分析sql性能. Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后. 查看数据库版本 mysql ...

  3. C#开发微信公众平台-就这么简单(附Demo)(转载)

    转载地址:http://www.cnblogs.com/xishuai/p/3625859.html 写在前面 服务号和订阅号 URL配置 创建菜单 查询.删除菜单 接受消息 发送消息(图文.菜单事件 ...

  4. IOS8 空项目全屏

    打开工程项目属性文件,点击Target下面的第一项,再选择General选项卡,向下找到Use Asset Catalog按钮.点击它. 弹出对话框,点击Migrate即可.这样,应用尺寸就能根据屏幕 ...

  5. Android开发代码规范(转)

    Android开发代码规范 1.命名基本原则    在面向对象编程中,对于类,对象,方法,变量等方面的命名是非常有技巧的.比如,大小写的区分,使用不同字母开头等等.但究其本,追其源,在为一个资源其名称 ...

  6. 在虚拟机环境下,电脑间拷贝配置好的伪分布式Hadoop环境,出现namenode不能启动的问题!

    原因:在原来的电脑上配置伪分布的时候,已经将hostname与IP绑定了,所以拷贝到别的电脑的时候,重新启动的时候就会失败,因为新的电脑的IP不见得就和原来的电脑的IP一样!因为在不同的网络中,在NA ...

  7. Oracle创建表空间和表

    创建表空间和表ORACLE物理上是由磁盘上的以下几种文件:数据文件和控制文件和LOGFILE构成的oracle中的表就是一张存储数据的表.表空间是逻辑上的划分.方便管理的.数据表空间 (Tablesp ...

  8. JVM的数据类型

    Java虚拟机是通过某些数据类型来执行计算的,数据类型可以分为两种:基本类型和引用类型,基本类型的变量持有原始值,而引用类型的变量持有引用值. Java语言中的所有基本类型同样也都是Java虚拟机中的 ...

  9. HTML-Canvas01

    画直线: var c = document.getElementById("myCanvas"); //不要忘写document var ctx = c.getContext(&q ...

  10. 简单几何(凸包+枚举) POJ 1873 The Fortified Forest

    题目传送门 题意:砍掉一些树,用它们做成篱笆把剩余的树围起来,问最小价值 分析:数据量不大,考虑状态压缩暴力枚举,求凸包以及计算凸包长度.虽说是水题,毕竟是final,自己状压的最大情况写错了,而且忘 ...