建设网站书,庆阳吧,淘宝网页版手机版,全网精选小程序本次讲解要点#xff1a; Hash 相关命令#xff1a;是指value中的数据类型
启动redis服务器#xff1a; 打开小黑窗#xff1a; C:\Users\JHe: E:cd E:\install\Redis6.0\Redis-x64-6.0.14\bin E:\install\Redis6.0\Redis-x64-6.0.14\binredis-server.exe red…本次讲解要点 Hash 相关命令是指value中的数据类型
启动redis服务器 打开小黑窗 C:\Users\JHe: E:cd E:\install\Redis6.0\Redis-x64-6.0.14\bin E:\install\Redis6.0\Redis-x64-6.0.14\binredis-server.exe redis.windows.conf dir 查看该文件夹里面的所有文件 启动redis客户端 小黑窗redis-cli
★ Redis的数据类型都是针对Redis的value而言
redis和map差不多。 Map 只能保存在内存中 redis可以保存在磁盘。
Redis的key都是String
▲ value支持如下5种数据类型
String 最基本的数据类型可保存任何的数据。 List 元素是String的有序集合集合内的元素可以重复。 Set 元素是String的无序集合集合内的数据不能重复。 Zset 元素是String的有序集合集合内的数据不能重复。 Hash 也是key-value集合类似Java的Mapkey和value都是String类型的数据。这种类型主要用于保存对象。
Redis为不同数据类型提供了不同的操作命令因此特定类型的数据需要使用对应类型的命令来执行操作。
★ Hash相关的命令
Hash类型是一个key和value都是String类型的key-value对。 这句话我觉得应该是只有value才是String类型的keyfield-value对key的话就只是key而已不是key-value对 key是不允许重复的。但value是可以重复的。
Hash类型适合存储对象。每个Hash最多可存储2^32 - 1个key-value对
关于命令中的参数的说明其中key相当于是hash对象的名字而field才是该hash对象中的key。
field 就是 value 里面的 键值对里面的key
HDEL key field [field …] 删除Hash对象中一个或多个key-value对。此处的field参数其实代表Hash对象中的key后面的field参数皆如此。
HEXISTS key field 判断Hash对象指定的key是否存在。
HGET key field 获取Hash对象中指定key对应的value。
HGETALL key 获取Hash对象中所有key-value对。
HINCRBY key field increment 为Hash对象指定的key增加increment。 它也要要求key指定的hash对象的field所对应value必须能转换成数值。
HINCRBYFLOAT key field increment HINCRBY的浮点数版本支持小数。
HKEYS key 获取Hash对象中所有key。
HLEN key 获取Hash对象中key-value对的数量。
HMGET key field [field…] HGET的加强版可同时获取多个key对应的value。
HSET key field value 为Hash对象设置一组key-value对。如果field对应的key已经存在 新设置的value将会覆盖原有的value。
HMSET key field value [field value …] HSET的加强版可同时设置多个key-value对。
HSETNX key field value HSET的安全版本只有当field对应的key不存在时才能设置成功。 该方法保证不会发生覆盖。
HSTRLEN key field 获取Hash对象指定key对应value的字符串长度。
HVALS key 获取Hash对象所有的value。
HSCAN key cursor [MATCH pattern] [COUNT count] 遍历Hash对象。此处的count不起作用。
演示
HSET key field value 为Hash对象设置一组key-value对。如果field对应的key已经存在 新设置的value将会覆盖原有的value。
经测试hset 也可以设置多个 key-value 对
HMSET key field value [field value …] HSET的加强版可同时设置多个key-value对。 结合上面的图可以看到用 hmset 设置多个key-value 对时如果field对应的key已经存在 新设置的value将会覆盖原有的value
field 不能重复但是 field 对应的 value 可以重复 field重复的话数据就会进行覆盖
HSETNX key field value HSET的安全版本只有当field对应的key不存在时才能设置成功。 该方法保证不会发生覆盖。
HGET key field 获取Hash对象中指定key对应的value。 关于命令中的参数的说明其中key相当于是hash对象的名字而field才是该hash对象中的key。 HMGET key field [field…] HGET的加强版可同时获取多个key指的是field对应的value。 hget 就不行不能获取多个field的value
HGETALL key 获取Hash对象中所有key-value对。 这个就是通过key获取value了而不是通过field获取value
HDEL key field [field …] 删除Hash对象中一个或多个key-value对。此处的field参数其实代表Hash对象中的key后面的field参数皆如此。
HEXISTS key field 判断Hash对象指定的key是否存在。
HINCRBY key field increment 为Hash对象指定的key增加increment。 它也要要求key指定的hash对象的field所对应value必须能转换成数值。
HINCRBYFLOAT key field increment HINCRBY的浮点数版本支持小数。并会返回增加后的值
HKEYS key 获取Hash对象中所有key。
HLEN key 获取Hash对象中key-value对的数量。
HSTRLEN key field 获取Hash对象指定key对应value的字符串长度。
HVALS key 获取Hash对象所有的value。
HSCAN key cursor [MATCH pattern] [COUNT count] 遍历Hash对象。此处的count不起作用。