美文网首页
redis set类型 zset类型

redis set类型 zset类型

作者: 恬恬i阿萌妹O_o | 来源:发表于2018-08-29 11:33 被阅读0次

    redis:key-value(键值存贮)
    启动:
    redis-cli --raw(要显示中文加--raw)
    redis数据类型
    string: 二进制数据 512MB
    set key value
    get key
    mset key value key value ....
    mget key key ....
    append key value
    setex key seconds value(可以是任意值,在有效期内,键对应的是这个value)
    setrange key offset newvalue (指定位置替换子串)
    setnx key (判断键是否存在,存在则不创建,不存在则创建)
    ttl key (查看过期时间)
    del key
    del key key ....
    key 的操作命令
    keys *
    key 正则
    expire key seconds (给一个key设置过期时间)
    randomkey (随机返回一个key)
    type key (查看数据的类型)
    rename key newkey
    .....
    hash
    hset key feild value
    hget key feild
    hmset key feild value feild value .....
    hmget key feild feild feild ....
    hkeys key
    hvals key
    hgetall key
    del key
    hdel key field
    hlen key
    ....

    list

    (从左插入,先插得在后边)

    lpush key value value value

    (从右插入,先插得在前边)

    rpush key value value value

    lrange key start(起始位置) end(结束位置)

    lpop key (从左边取出,取出后即删除)

    rpop key (从右边取出,取出后即删除)

    brpop key key1 seconds (

    阻塞时间,为0则一直阻塞,知道key对应的list有值,

    不为0,在设置的时间内,即使娶不到值,也结束)

    brpoplpush key key2 timeout (从key右边中取出值,从左边放入key2中)

    lindex key index 根据索引取值

    lset key index newvalue

    linsert key before|after 参照值 newvalue

    ltrim key start(从该位置开始截取) stop(到该位置截止)

    .....

    data = {1,2,3,4,5,6,6,6,7,7}

    print(data) #-> {1,2,3,4,5,6,7}

    print({i for i in {i for i in data if i > 2} if i > 5})

    data = (1,2,3,4,5,65,78)

    data1 = (i for i in data)

    print(type(data1))

    set 集合

    set 里面的元素不重复
    sadd key member member ....

    smembers key

    srem key member ...

    scard key

    sdiff key key1 .... key(1 2 3 4 5) key1(2 3 4 5 6) result -> (1)

    sinter key key1 ... key(1 2 3 4 5) key1(2 3 4 5 6) result -> (2 3 4 5)

    sunion key key1 .. key(1 2 3 4 5) key1(2 3 4 5 6) result -> (1 2 3 4 5 6)

    sdiffstore skey3 key key1 .... key(1 2 3 4 5) key1(2 3 4 5 6) result -> skey3:(1)

    sinterstore skey3 key key1 ... key(1 2 3 4 5) key1(2 3 4 5 6) result -> skey3:(2 3 4 5)

    sunionstore skey3 key key1 .. key(1 2 3 4 5) key1(2 3 4 5 6) result -> skey3:(1 2 3 4 5 6)

    spop key (取出值,并且删除值)

    srandmember key count(随机获取的数量)

    zset 总结:

    添加有序集合的成员

    zadd key score(分数|权重) value score(分数|权重) value ....

    根据索引查看指定范围的成员

    zrange key start(0开始) stop(结束位置-1表示最后一个)

    删除指定的成员

    zrem key member

    删除多个指定的成员

    zrem key member ...

    根据指定索引的范围删除成员

    zremrangebyrank key start stop
    zremrangebyrank key 0 3
    1 2 3 4 54 6 7 8 89 -> 54 6 7 8 89

    根据权重(分数)的范围来删除指定成员

    zremrangebyscore key min max
    zremrangebyscore key 2 7
    值: 1 2 3 4 54 6 7 8 89 -> 1 8 89
    权重:1 2 3 4 5 6 7 8 9

    查看某个成员的权重

    zscore key member

    返回成员在有序集合中的位置(索引值)

    zrank key member

    返回有序集合中成员的数量

    zcard key

    给有序集合中的成员增加权重,改变位置

    zincrby key 10(权重增量) member

    统计有序集合中指定权重(分数)范围内的成员数量

    zcount key min max

    使用zrevrange命令
    1 one
    2 two
    3 three
    4 four 
    zrevrange key member 执行这个命令
    1.
    4 four
    3 three
    2 two
    1 one
    2.在根据查找出member在排序后的索引

    数据的类型告一段落(zinterscore)????

    相关文章

      网友评论

          本文标题:redis set类型 zset类型

          本文链接:https://www.haomeiwen.com/subject/tufhwftx.html