哈希(Hash)数据类型
简介 哈希表示键值之间的一个种映射。Redis中哈希的键值都必须是字符串。
哈希表示键值之间的一个种映射。Redis中哈希的键值都必须是字符串。
相关命令
HSET、HGET、HMSET、HMGET、HEXISTS、HGETALL、HDEL、HSETNX、HSCAN、HLEN
操作
1、使用HSET命令设置哈希列表单个字段的值
127.0.0.1:6379> HSET hash_1 name "xiaohai"
(integer) 1
2、使用HGET命令获取哈希列表单个字段的值
127.0.0.1:6379> HGET hash_1 name
"xiaohai"
3、使用HMSET命令来批量设置哈希列表中的字段和值
127.0.0.1:6379> HMSET hash_1 age 18 address "chengdu"
OK
4、使用HMGET命令来批量获取哈希列表中的多个字段的值
127.0.0.1:6379> HMGET hash_1 age address
1) "18"
2) "chengdu"
5、使用HEXISTS命令获取一个哈希列表中某个字段是否存在
127.0.0.1:6379> HEXISTS hash_1 name
(integer) 1
127.0.0.1:6379> HEXISTS hash_1 city
(integer) 0
6、使用HGETALL获取哈希表中的所有字段和值(注意:不建议数量巨大的Hash获取所有值使用HGETALL命令)
127.0.0.1:6379> HGETALL hash_1
1) "name"
2) "xiaohai"
3) "age"
4) "18"
5) "address"
6) "chengdu"
7、使用HDEL命令从哈希列表中删除字段
127.0.0.1:6379> HDEL hash_1 age address
(integer) 2
127.0.0.1:6379> HGETALL hash_1
1) "name"
2) "xiaohai"
8、使用HSETNX命令设置只有字段不存在的情况下才成功,防止被覆盖
127.0.0.1:6379> HSETNX hash_1 name "zhang"
(integer) 0
127.0.0.1:6379> HSETNX hash_1 age 20
(integer) 1
9、使用HSAN来增量获取所有字段和值
一个哈希最多容纳2^23-1个字段。如果一个哈希中的字段非常的多,那么执行HGETALL命令时,可能会阻塞Redis服务器。在这种情况下就最好使用HSCAN命令来获取。
HSCAN会增量迭代遍历元素,从而不会造成服务器阻塞。HSCAN命令是一种基于指针的迭代器,因此我们需要在每次调用命令时需要指定一个游标,从0开始。当一次HSCAN运行结束后,Redis会返回一个元素列表以及下一个新的游标,这个游标用于下一次迭代。
HSCAN的使用方法:
- HSCAN key cursor [match pattern] [count number]
- 选项match可以用来匹配满足指定表达式的字段
- 选项count用来说明每次迭代中应该返回多少个元素。但是这个只提供参考,默认10
- 如果返回的游标是0,表示整个遍历结束
127.0.0.1:6379> HSCAN hash_1 0
1) "0"
2) 1) "name"
2) "xiaohai"
3) "age"
4) "20"
网页扫描二维码库:Html5-Qrcode,官网地址:https://scanapp.org/html5-qrcode-docs/
python多维数组为一维数组(reshape、flatten、ravel),使用NumPy库.
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。