哈希操作命令:
-
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"



