栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

redis字符类型-哈希、集合

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

redis字符类型-哈希、集合

redis字符类型-哈希、集合 1.redis字符-哈希

哈希操作命令:

  • hash看起来像一个‘hash’的样子,由键值对组成

  • HMSET指令设置hash中的多个域

  • HGET取回单个域

  • HGETALL取回全部域信息

之前的set和mset只能是单个key的赋值,哈希可以给一个key附多个值

1.1.哈希命令操作举例
1.我们先启动redis服务
[redis_6379]# redis-server /opt/redis_cluster/redis_6379/conf/redis_6379.conf

2.查询服务正常开启后
[root@redis_6379]# ps -ef |grep redis
root       3211      1  0 10:22 ?        00:00:01 redis-server 127.0.0.1:6379
root       3995   3074  0 10:59 pts/1    00:00:00 grep --color=auto redis

3.连接进去redis数据库
[root@redis_6379]# redis-cli -h 192.168.40.1
192.168.40.1:6379>

4.我们插入一组数据,使用hmset命令可以向数据库中插入一组数据和之前的set命令一样。
192.168.40.1:6379> hmset user:10 username zhangsan age 20 job IT
OK

5.我们插入一组数据,这边使用hmget查询,也可以附带多个值
192.168.40.1:6379> hmget user:10 username
1) "zhangsan"

6.根据值查询出对应的信息
192.168.40.1:6379> hmget user:10 username age job
1) "zhangsan"
2) "20"
3) "IT"

7.也可以再次使用hmset命令向后追加字符
192.168.40.1:6379> hmset user:10 qq 123123
OK

8.HGETALL命令可以查询这个序列的所有信息
192.168.40.1:6379> hgetall user:10
1) "username"
2) "zhangsan"
3) "age"
4) "20"
5) "job"
6) "IT"
7) "qq"
8) "123123"

9.同样的redis也是支持存入中文的,只不过存入之后查询会变成编码
192.168.40.1:6379> HMSET user:10 pet 小南
OK
192.168.40.1:6379> hgetall user:10
 1) "username"
 2) "zhangsan"
 3) "age"
 4) "20"
 5) "job"
 6) "IT"
 7) "qq"
 8) "123123"
 9) "pet"
10) "xe5xb0x8fxe5x8dx97xe2x80"

10.文件导出之后,内容还是之前输入的中文。
[root@localhost redis_6379]# redis-cli hgetall user:10 > 1.txt
[root@localhost redis_6379]# cat 1.txt 
username
zhangsan
age
20
job
IT
qq
123123
pet
小南
2.redis字符-集合
1.集合使用命令
SADD  创建集合
SMEMBERS  查询某个集合中所有的信息
SDIFF  对比集合内容然后显示出另一个集合没有的数
SINTER  对比出两个或者多个集合中数字相同值
SUNIOn 将集合中的信息按照顺序列出
2.1.集合命令操作举例
创建两个集合,对其中的key赋值
[root@localhost redis_6379]# redis-cli 
127.0.0.1:6379> SADD set1 1 2 3 5 7
(integer) 5
127.0.0.1:6379> SADD set2 2 5 6  7 10
(integer) 5
使用SMEMBERS查询某个集合所有信息举例
127.0.0.1:6379> SMEMBERS set1 
1) "1"
2) "2"
3) "3"
4) "5"
5) "7"
6) "11"
127.0.0.1:6379> SMEMBERS set2
1) "2"
2) "5"
3) "6"
4) "7"
5) "10"
6) "15"
以集合1或集合2为例,来对比另一个集合key不一样的地方
127.0.0.1:6379> SDIFF set1 set2
1) "1"
2) "3"
3) "11"
127.0.0.1:6379> SDIFF set2 set1
1) "6"
2) "10"
3) "15"
SINTER命令,对比两个key中相同值的数据
127.0.0.1:6379> SINTER set1 set2
1) "2"
2) "5"
3) "7"
SUNIOn把两个key的数据从大到小列出排序
127.0.0.1:6379> SUNIOn set1 set2
1) "1"
2) "2"
3) "3"
4) "5"
5) "6"
6) "7"
7) "10"
8) "11"
9) "15"
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/852482.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号