散列散列类型
散列类型意味着Redis键/值对中的值本身是值/值对结构,如value=[{field1,value1}, {fieldN,valueN}]。
Redis hash是一种字符串字段(字段)和值(value )映射表,特别适合存储对象。
Redis的每个hash可以包含2^32 - 1键值对(超过40亿)。
常用命令
为哈希表中的字段赋值:hset
如果散列表不存在,则会创建新的散列表并进行HSET操作。
如果字段已经存在于散列表中,则旧值将被复盖。
获取哈希表中字段的值:hget
127.0.0.1:6379 hsetmyhashfield1hello1(integer ) )。 127.0.0.133606379 hgetmyhashfield1' hello1' 127.0.0.133606379 hsetmyhashfield1hello2(integer ) 0127.0.0
此命令覆盖散列表中已经存在的字段。
如果散列表不存在,则会创建空散列表并执行HMSET操作。
同时将多个 field-value (字段-值)对设置到哈希表中:mhset
127.0.0.133606379 hmsetmyhashfield1hello1field2hello 2ok 127.0.0.133606379 hmgetmyhashfield1field 11 (' hello1'2) )
127.0.0.1:6379 hgetallmyhash1(field1)2) hello1'3)3) field2)4) hello23358 www.Sina.com /
127.0.0.1:6379 hdelmyhashfield1#给定散列表myhash的字段(integer ) 1127.0.0.133606379 hgetallmyhash # 删除1 )的' hello2' 127.0.0.133606379 hmsetmyhashfield3hello3field4hello4field5hello 5ok 127.0.0.133606379 hgetallmyhalo hello4'7)、field5'8)、hello5' #==========删除指定哈希表myhash中的多个字段=====127.0
散列表中的字段数。 如果密钥不存在,则返回0
127.0.0.133606379 hmsetmyhashfield3hello3field4hello4field5hello 5ok 127.0.0.133606379 hlenmyhash (integer ) 3127.0
如果散列表中有指定的字段,则返回1。 如果散列表不包含特定字段或key不存在,则返回0
127.0.0.1:6379 hgetallmyhash1(field3)2) hello3'3)3) field4'4)4) hello4'5)5) field5'6)6)
同时获取多个哈希表中的字段的值:mhget
127.0.0.1:6379 hgetallmyhash1(field3)2) hello3'3)3) field4'4)4) hello4'5)5) field5'6)6) 获取' field5' 127.0.0.133606379 hvalsmyhash #散列表中所有字段的属性1 )、hello3'2)和hello4'3)
增量也可以是负数。 这相当于减去指定字段的操作。
如果散列表中的key不存在,则会创建新的散列表并执行HINCRBY命令。
如果指定的字段不存在,则在运行命令之前,字段值将初始化为0。
如果对包含字符串值的字段运行HINCRBY命令,则会发生错误。
本操作的值被限制为64位(bit )有符号数字显示。
127.0.0.133606379 hsetmyhashfield 110 (integer ) 1127.0.133606379 hincrbymyhashfield 15 (integer ) 15127.0.0
如果散列表不存在,则会创建新的散列表并进行HSET操作。
如果字段已经存在于散列表中,则操作无效。
如果key不存在,则会创建新的散列表并执行HSETNX命令。
设定成功了。 返回1。 如果特定字段已经存在且未执行操作,则返回0。
127.0.0.1:6379 hsetnxmyhashfield2hello2(Integer ) 1127.0.133606379 hsetnxmyhashfield2hi2) integer )0 Redis
127.0.0.1:6379 hset user :1 namewanliage3(integer ) 2127.0.0.133606379 hm getuser :1 name age1) wanli'2