200做网站,三维在线设计网站,常熟做公司网站,app怎么制作视频文章目录 前置知识常用命令HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGET关于HMSETHLENHSETNXHINCRBYHINCRBYFLOAT 命令小结 前置知识
redis自身就是键值对结构了#xff0c;哈希类型是指值本⾝⼜是⼀个键值对结构#xff0c;形如keykey#xff0c;value{{field1… 文章目录 前置知识常用命令HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGET关于HMSETHLENHSETNXHINCRBYHINCRBYFLOAT 命令小结 前置知识
redis自身就是键值对结构了哈希类型是指值本⾝⼜是⼀个键值对结构形如keykeyvalue{{field1value1}...{fieldNvalueN}} 字符串和哈希类型对⽐ 哈希类型中的映射关系通常称为field-value⽤于区分Redis整体的键值对key-value注意这⾥的value是指field对应的值不是键key对应的值注意value在不同上下⽂的作⽤ 常用命令
HSET
设置hash中指定的字段field的值value
语法HSET key field value [field value ...] 时间复杂度插⼊⼀组field为O(1)插⼊N组field为O(N) 返回值添加成功的字段filed-value的个数 HGET
获取hash中指定字段的值
语法HGET key field 返回值字段对应的值或者nil HEXISTS
判断hash中是否有指定的字段
语法HEXISTS key field 返回值1表⽰存在0表⽰不存在 HDEL
删除hash中指定的字段
语法HDEL key field [field ...]时间复杂度删除⼀个元素为O(1).删除N个元素为O(N) 返回值本次操作删除的字段个数 注意del删除的是keyhdel删除的是key当中的field字段 HKEYS
获取hash中的所有字段
语法HKEYS key 时间复杂度O(N)N为field的个数先根据key找到对应的hash然后再遍历hash 有一定的风险因为不知道某个hash当中是否会存在大量的field 返回值字段列表 HVALS
获取hash中的所有的值
语法HVALS key 时间复杂度O(N)N为field的个数 返回值所有的值 HGETALL
获取hash中的所有字段以及对应的值
语法HGETALL key时间复杂度O(N)N为field的个数 返回值字段和对应的值 HMGET
⼀次获取hash中多个字段的值
语法 HMGET key field [field ...] 时间复杂度只查询⼀个元素为O(1)查询多个元素为O(N)N为查询元素个数 返回值字段对应的值或者nil 注意在使⽤HGETALL时如果哈希元素个数⽐较多会存在阻塞Redis的可能。如果开发⼈员只需要获取部分field可以使⽤HMGET如果⼀定要获取全部field可以尝试使⽤HSCAN命令该命令采⽤渐进式遍历哈希类型 敲一次命令遍历一小部分返回下一次从哪个位置开始遍历连续执行多次就可以完成整个遍历过程此时时间就是可控的不会阻塞redis服务器 此时返回的多个value的顺序和field的顺序是匹配的 关于HMSET
其实有HMSET进行一次设置多个field和value但是并不需要因为hset已经支持一次设置多个field和value了 HLEN
获取hash中的所有字段的个数
语法LEN key 时间复杂度O(1) 返回值字段个数 HSETNX
在字段(field)不存在的情况下设置hash中的字段和值如果存在则失败
语法HSETNX key field value 返回值1表⽰设置成功0表⽰失败 时间复杂度O(1) HINCRBY
将hash中字段对应的数值添加指定的值
语法HINCRBY key field increment #increment只能是整数(正数 负数 0)但是不能是浮点数返回值该字段变化之后的值 时间复杂度O(1) HINCRBYFLOAT
语法HINCRBYFLOAT key field increment 本质是HINCRBY的浮点数版本返回值该字段变化之后的值 时间复杂度O(1) 命令小结