redis 数据类型——Hash SortedSet List

来源:互联网 发布:spss如何分析数据 编辑:程序博客网 时间:2024/06/05 23:03

接着上一篇redis 数据类型——key String Set

  • Hash –(哈希表)
  • SortedSet –(有序集合)
  • List –(列表)

1.Hash – 哈希表

HSET key field value将key 中field 的值设为 value 如果 key 不存在,则创建如果key存在,则覆盖127.0.0.1:6379> hset eason_hoo giftId '100231'(integer) 1----------HGET key field返回key 中给定 field 值,么有返回nil127.0.0.1:6379> hset eason_hoo giftId '100231'(integer) 1127.0.0.1:6379> hget eason_hoo giftId"100231"----------HGETALL key返回哈希表 key 中,所有的域和值, 如key 对于value么有值返回nil对于提高redids 性能使用该方法127.0.0.1:6379> hget eason_hoo giftId"100231"127.0.0.1:6379> hset eason_hoo giftNum 100(integer) 1127.0.0.1:6379> hset eason_hoo giftAmont 1000(integer) 1127.0.0.1:6379> hgetAll eason_hoo1) "giftId"2) "100231"3) "giftNum"4) "100"5) "giftAmont"6) "1000"----------HEXISTS key field查看 key 中,给定 field 是否存在,存在返回1 否则返回0127.0.0.1:6379> hexists  eason_hoo giftId(integer) 1127.0.0.1:6379> hexists  eason_hoo giftPrice(integer) 0----------HKEYS key返回哈希表 key 中的所有域127.0.0.1:6379> hkeys eason_hoo1) "giftId"2) "giftNum"3) "giftAmont"----------HLEN key返回哈希表 key 中域的数量127.0.0.1:6379> hlen eason_hoo(integer) 3----------HMSET key field value [field value ...]同时将多个 field-value (域-值)对设置表 key 中,如果表不存在会创建127.0.0.1:6379> hmset person  name json sex fOK----------HMGET key field [field ...]返回表 key 中,一个或多个给定域的值。如果给定key不存在,返回一个 nil 值127.0.0.1:6379> hmset person  name json sex fOK127.0.0.1:6379> hmget person name sex1) "json"2) "f"----------HSETNX key field value将表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。如果 field 已经存在,该操作无效127.0.0.1:6379> hsetnx  db  mysql redis(integer) 1127.0.0.1:6379> hsetnx  db  mysql redis(integer) 0----------HVALS key返回表 key 中所有域的值127.0.0.1:6379> hvals eason_hoo1) "100231"2) "100"3) "1000"127.0.0.1:6379>----------HSTRLEN key field返回指定key field 字段上value 值得长度

2.SortedSet –(有序集合)

ZADD key score member添加key值 给member 赋值 score127.0.0.1:6379> zadd home 9 baidu 10 google 11 jd(integer) 1----------ZCARD key返回有序集 key 的集合127.0.0.1:6379> zcard home(integer) 3----------COUNT key min max返回有key 中 score 值在 min 和 max 之间值127.0.0.1:6379> zcount home 0 5(integer) 0127.0.0.1:6379> zcount home 0 50(integer) 3----------ZRANGE key start stop 返回 key 中指定区间内的成员127.0.0.1:6379> zrange home 0 501) "baidu"2) "google"3) "jd"----------ZREM key member [member ...]移除集 key 中的一个或多个成员127.0.0.1:6379> zrem home jd(integer) 1127.0.0.1:6379> zrange home 0 501) "baidu"2) "google"

3.List – 列表

PUSH key value [value ...]将一个或多个值 value 插入到列表 key 的表头127.0.0.1:6379> lpush code java oc (integer) 2127.0.0.1:6379> type codelistLPOP key移除并返回列表 key 的头元素。127.0.0.1:6379> lpop code"oc"LPUSHX key value当key不存在的时候操作不成功,已经存在了将不做任何操作127.0.0.1:6379> llen php(integer) 0127.0.0.1:6379> lpushx study php(integer) 0----------LSET key index value将列表 key 下标为 index 的元素的值设置为 value127.0.0.1:6379> lset code 0 cOKLLEN key返回列表 key 的长度127.0.0.1:6379> llen code(integer) 4----------RPOP key移除并返回列表 key 的尾元素127.0.0.1:6379> rpop code"java"RPUSH key value 将一个或多个值 value 插入到列表 key 列表表尾127.0.0.1:6379> rpush code c++ android(integer) 5RPUSHX key value将 value 插入到列表 key 表尾,并且key 存在127.0.0.1:6379> rpushx study  sale(integer) 0

总结:从性能角度考虑,在开发中一般使用Key Hash Set SortedSet 数据类型

0 0