• Redis常用命令(Set、Hash、Zset)


    1、Set(单值多value)

      1、 sadd、smembers key 、

    127.0.0.1:6379> SADD set01 1 1 2 2 3 3
    (integer) 3
    127.0.0.1:6379> SMEMBERS set01
    1) "1"
    2) "2"
    3) "3"

      2、sismember value  (存在为1,不存在为0)

    127.0.0.1:6379> SISMEMBER set01 1
    (integer) 1
    127.0.0.1:6379> SISMEMBER set01 x
    (integer) 0

      3、scard  key (统计集合里面个数)

    127.0.0.1:6379> scard set01 
    (integer) 3

      4、srem key  value(删除里面有的元素)

    127.0.0.1:6379> srem set01 4
    (integer) 0
    127.0.0.1:6379> srem set01 3
    (integer) 1
    127.0.0.1:6379> SMEMBERS set01
    1) "1"
    2) "2"

      5、srandmember key  随机数个数(在set中寻找随机数个数)

    127.0.0.1:6379> srandmember set 3
    1) "5"
    2) "6"
    3) "7"
    127.0.0.1:6379> srandmember set 3
    1) "3"
    2) "4"
    3) "7"

      6、spop key (随机出栈)

    127.0.0.1:6379> sadd set01 1 2 3 4 5 6
    (integer) 6
    127.0.0.1:6379> spop set01
    "3"
    127.0.0.1:6379> spop set01
    "5"
    127.0.0.1:6379> spop set01
    "6"
    127.0.0.1:6379> SMEMBERS set01
    1) "1"
    2) "2"
    3) "4"

      7、smove  key1   key2   key1中有的值 (将key1中的值移到key2)

    127.0.0.1:6379> smove set01 set02 8
    (integer) 1
    127.0.0.1:6379> SMEMBERS set02
    1) "8"

      8、数学集合 sdiff(差集)、sinter(交集)、sunion(并集)

    127.0.0.1:6379> sadd set01 1 2 3 4 5
    (integer) 5
    127.0.0.1:6379> sadd set02 1 2 3 a b
    (integer) 5
    127.0.0.1:6379> sdiff set01 set02
    1) "4"
    2) "5"
    127.0.0.1:6379> sinter set01 set02
    1) "1"
    2) "2"
    3) "3"
    127.0.0.1:6379> sunion set01 set02
    1) "5"
    2) "1"
    3) "3"
    4) "2"
    5) "a"
    6) "b"
    7) "4"

    2、Hash(KV模式不变,但V也是一个键值对)

      1、hset 、 hget 、hmset 、hmget 、hgetall 、hdel

    127.0.0.1:6379> hset user id 11
    (integer) 1
    127.0.0.1:6379> HGET user id
    "11"
    127.0.0.1:6379> hmset user name "zhangsan1" age 18 
    OK
    127.0.0.1:6379> hmget user  id name age
    1) "11"
    2) "zhangsan1"
    3) "18"
    
    
    127.0.0.1:6379> hgetall user
    1) "id"
    2) "11"
    3) "name"
    4) "zhangsan1"
    5) "age"
    6) "18"
    
    127.0.0.1:6379> hdel user name
    (integer) 1

      2、hexists  key   value(key)  

    127.0.0.1:6379> HEXISTS user id
    (integer) 1
    127.0.0.1:6379> HEXISTS user n
    (integer) 0
    127.0.0.1:6379> HEXISTS user name
    (integer) 0
    127.0.0.1:6379> HEXISTS user age
    (integer) 1

      3、hkeys 、 hvalue

    127.0.0.1:6379> hkeys user
    1) "id"
    2) "age"
    127.0.0.1:6379> HVALS user
    1) "11"
    2) "18"

      4、hincrby 、hincrbyfloat

    127.0.0.1:6379> HINCRBY user age 78
    (integer) 97
    127.0.0.1:6379> HINCRBYFLOAT user age 12.3
    "109.3"

      5、hsetnx (有的就加入不了)

    127.0.0.1:6379> hsetnx user id 45
    (integer) 0
    127.0.0.1:6379> hsetnx user age1 45
    (integer) 1

    3、Zset

      1、zset  key  、zrange  key   0 -1  、zset  key   0 -1  withscores

    127.0.0.1:6379> zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5 
    (integer) 5
    127.0.0.1:6379> zrange zset01 0 -1
    1) "v1"
    2) "v2"
    3) "v3"
    4) "v4"
    5) "v5"
    127.0.0.1:6379> zrange zset01 0 -1 withscore
    (error) ERR syntax error
    127.0.0.1:6379> zrange zset01 0 -1 withscores
     1) "v1"
     2) "60"
     3) "v2"
     4) "70"
     5) "v3"
     6) "80"
     7) "v4"
     8) "90"
     9) "v5"
    10) "100"

                          ------  withscores

     2、zrangebyscore key  起始分数  终止分数      ------- ( 不包括

                          ------  limit  作用返回限制 

      (1)查找分数在   起始分数  ------ 》 终止分数   的   value(值)

      (2)查找分数在    起始分数  ------ 》 终止分数  (不包括   分数  (分数     的value(值)

      (3)查找分数在     起始分数  ------ 》 终止分数   limit   起始下标    截取几位  的value(值)

    127.0.0.1:6379> ZRANGEBYSCORE zset01 60 90
    1) "v1"
    2) "v2"
    3) "v3"
    4) "v4"
    127.0.0.1:6379> ZRANGEBYSCORE zset01 (60 (90
    1) "v2"
    2) "v3"
    127.0.0.1:6379> ZRANGEBYSCORE zset01 60 90 limit 2 2
    1) "v3"
    2) "v4"

      3、zrem key

    127.0.0.1:6379> zrem zset01 v5
    (integer) 1
    127.0.0.1:6379> ZRANGE zset01 0 -1
    1) "v1"
    2) "v2"
    3) "v3"
    4) "v4"
    127.0.0.1:6379> ZRANGE zset01 0 -1 withscores
    1) "v1"
    2) "60"
    3) "v2"
    4) "70"
    5) "v3"
    6) "80"
    7) "v4"
    8) "90"

      4、zcard key (求个数)

    127.0.0.1:6379> zcard zset01
    (integer) 4

      5、zcount  key  起始分数   终止分数(统计个数)

    127.0.0.1:6379> zcount zset01 61 80
    (integer) 2

      6、zrank key  key(value) :求下标   zscore  key   value  :求key(value)

    127.0.0.1:6379> zrank zset01 v4
    (integer) 3
    127.0.0.1:6379> zscore zset01 v4

      7、zrevrank  key   key(value) :逆序获取下标

    127.0.0.1:6379> ZREVRANK  zset01 v4
    (integer) 0

      8、zrevange  key  key(value):逆序打印

    127.0.0.1:6379> zrevrange zset01 0 -1
    1) "v4"
    2) "v3"
    3) "v2"
    127.0.0.1:6379> zrange zset01 0 -1
    1) "v1"
    2) "v2"
    3) "v3"
    4) "v4"
  • 相关阅读:
    InetAddress.getLocalHost().getHostAddress() 问题
    解决:Element ‘dependency‘ cannot have character [children], because the type‘s content type is elementon
    生成二维码下载二维码
    Spring boot 如何获得客户端 ip 地址以及根据主机名获得 ip 地址
    无法打开到主机的连接。 在端口 23: 连接失败
    在vue的项目中怎样修改浏览器窗口的 logo
    解决:SqlSession[xxx] was not registered for synchronization because synchronization is not active
    解决:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题
    [docker]在本地/内部配置部署docker镜像仓库
    1
  • 原文地址:https://www.cnblogs.com/karrya/p/11264741.html
Copyright © 2020-2023  润新知