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. linux常见问题集锦

    本文转自 http://bbs.chinaunix.net/thread-3668921-1-1.html,在此感谢作者分享 一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 . 2. ...

  2. linux rdsktop 运程管理 windows

    [root@ok ISO]# yum list |grep rdesktop rdesktop.x86_64 1.7.1-1.el6 base [root@ok ISO]# yum install r ...

  3. Android读书笔记0-从零开始

    可以有千万个理由,但是结果就在这里,我开始对Android产生兴趣,于是决定学点啥.啥都不说,单刀入正题. 开发环境 啥都不说,直接上图. 只说Windows平台上,下载完直接解压即可.比起VS安装过 ...

  4. laraver ajax分页

    ,设置分页容器参考laraver手册 我的设置代码如下: ,控制器调用的方法:代码如下 );         include($path);         $content = ob_get_cle ...

  5. /dev/tty /dev/ttyS0 /dev/tty0区别 (转载)

    1.串行端口终端(/dev/ttySn)     串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备.    计算机把每个串行端口都看作是一个字符设备.有段时间 ...

  6. Android Touch事件传递机制解析

    android系统中的每个ViewGroup的子类都具有下面三个和TouchEvent处理密切相关的方法: 1)public boolean dispatchTouchEvent(MotionEven ...

  7. TCP和UDP Socket

    1.tcp协议的编程 * 1:客户端.步骤  *         1:创建Socket对象,构造方法里需要指定服务端的ip地址和端口.  *         Socket socket = new S ...

  8. “无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性 “之解决

    今天在学习插件系统设计的时候遇到一个问题:“System.Reflection.ReflectionTypeLoadException: 无法加载一个或多个请求的类型. 于是百度一下,很多内容都差不多 ...

  9. node相关--socket.io

    使用Socket.IO可以避免webSocket产生的问题: 传输: Socket.IO中消息的传递是基于传输的,而非全部依靠WebSocket; 它总会尝试选择对用户来说速度最快.对服务器性能来说最 ...

  10. BZOJ1085 [SCOI2005]骑士精神(IDA*)

    IDA*是IDS的基础上加上满足A*算法的估值函数来剪枝的搜索算法. 这题代码量挺少的,可以看出整个IDA*的框架: #include<cstdio> #include<cstrin ...