• redis学习笔记


    redis数据类型及支持的常用操作:

    string

    set/get/append/incr/decr/getrange/mget/mset/strlen

    127.0.0.1:6379> set usersession:1 13323232323
    OK
    127.0.0.1:6379> get usersession:1
    "13323232323"
    127.0.0.1:6379> incr usersession:1
    (integer) 13323232324
    get  usersession:1 //  13323232324
     127.0.0.1:6379> append usersession:1 "extra data"
    (integer) 21
    127.0.0.1:6379> get usersession:1
    "13323232324extra data"
    127.0.0.1:6379> set customer:1 "customer00123"
    OK
    127.0.0.1:6379> getrange customer:1 8 13
    "00123"

     127.0.0.1:6379> strlen customer:1
      (integer) 13

    127.0.0.1:6379> mset order:1 "order1 data" order:2 "order2 data"
    OK
    127.0.0.1:6379> mget order:1 order:2
    1) "order1 data"
    2) "order2 data"

    list : order list

    just a sorted list of strings, sorted by insertion order

    可以执行以下操作:

    lpush/rpush/lrem/lset/lindex/lrange/llen/lpop/rpop/ltrim

    127.0.0.1:6379> lpush recentcomments "comment 1"
    (integer) 1
    127.0.0.1:6379> lrange recentcomments 0 1
    1) "comment 1"
    127.0.0.1:6379> lpush recentcomments "comment 2"
    (integer) 2
    127.0.0.1:6379> lrange recentcomments 0 2
    1) "comment 2"
    2) "comment 1"
    127.0.0.1:6379> rpush recentcomments "comment 3"
    (integer) 3
    127.0.0.1:6379> lrange recentcomments 0 3
    1) "comment 2"
    2) "comment 1"
    3) "comment 3"
    127.0.0.1:6379> rpush recentcomments "comment 4"
    (integer) 4
    127.0.0.1:6379> rpush recentcomments "comment 5"
    (integer) 5
    127.0.0.1:6379> lrange recentcomments 0 6
    1) "comment 2"
    2) "comment 1"
    3) "comment 3"
    4) "comment 4"
    5) "comment 5"
    127.0.0.1:6379> rpush recentcomments "comment 6"
    (integer) 6
    127.0.0.1:6379> lrange recentcomments 0 6
    1) "comment 2"
    2) "comment 1"
    3) "comment 3"
    4) "comment 4"
    5) "comment 5"
    6) "comment 6"
    127.0.0.1:6379> ltrim recentcomments 0 4
    OK
    127.0.0.1:6379> lrange recentcomments 0 6
    1) "comment 2"
    2) "comment 1"
    3) "comment 3"
    4) "comment 4"
    5) "comment 5"
    127.0.0.1:6379>
    
    
    127.0.0.1:6379> lindex recentcomments 2
    "comment 3"
    127.0.0.1:6379> lrange recentcomments 0 5
    1) "comment 2"
    2) "comment 1"
    3) "comment 3"
    4) "comment 4"
    5) "comment 5"
    127.0.0.1:6379> lpop recentcomments
    "comment 2"
    127.0.0.1:6379> lrange recentcomments 0 5
    1) "comment 1"
    2) "comment 3"
    3) "comment 4"
    4) "comment 5"
    127.0.0.1:6379> lpop recentcomments
    "comment 1"
    127.0.0.1:6379> lrange recentcomments 0 5
    1) "comment 3"
    2) "comment 4"
    3) "comment 5"
    127.0.0.1:6379> rpop recentcomments
    "comment 5"
    127.0.0.1:6379> lrange recentcomments 0 5
    1) "comment 3"
    2) "comment 4"
    127.0.0.1:6379>
    
    redis> RPUSH mylist "hello"
    (integer) 1
    redis> RPUSH mylist "hello"
    (integer) 2
    redis> RPUSH mylist "foo"
    (integer) 3
    redis> RPUSH mylist "hello"
    (integer) 4
    redis> LREM mylist -2 "hello"
    (integer) 2
    redis> LRANGE mylist 0 -1
    1) "hello"
    2) "foo"

    sets: 

    sets contain a collection of unique strings

    sadd/scard/sdiff/sinter/sunion/sismember/smembers/smove/srem

    127.0.0.1:6379> sadd post:1:likes "joe" "bob" "mary"
    (integer) 3
    127.0.0.1:6379> scard post:1:likes
    (integer) 3
    127.0.0.1:6379> smembers post:1:likes
    1) "joe"
    2) "bob"
    3) "mary"
    127.0.0.1:6379> sadd post:2:likes "joe" "tim"
    (integer) 2
    127.0.0.1:6379> sdiff post:1:likes post:2:likes
    1) "bob"
    2) "mary"
    127.0.0.1:6379> sinter post:1:likes post:2:likes
    1) "joe"
    127.0.0.1:6379>

    sorted sets:

    zadd,zcard,zcount,zincrby,zrange,zrank,zrem,zscore

    127.0.0.1:6379> zadd highscores 120 "joe" 100 "bob" 150 "mary" 104 "tim"
    (integer) 4
    127.0.0.1:6379> zrange highscores 0 4
    1) "bob"
    2) "tim"
    3) "joe"
    4) "mary"
    127.0.0.1:6379> zrange highscores 0 4 withscores
    1) "bob"
    2) "100"
    3) "tim"
    4) "104"
    5) "joe"
    6) "120"
    7) "mary"
    8) "150"
    127.0.0.1:6379> zadd highscores 125 "joe"
    (integer) 0
    127.0.0.1:6379> zrange highscores 0 4 withscores
    1) "bob"
    2) "100"
    3) "tim"
    4) "104"
    5) "joe"
    6) "125"
    7) "mary"
    8) "150"

    hash

    maps between string fields and string values

    hset/hmset/hget/hmget/hgetall/hdel/hexists/hincrby/hkeys/hvals

    pub and sub

    redis can be used as a message bus

    127.0.0.1:6379> subscribe greetings
    Reading messages... (press Ctrl-C to quit)
    1) "subscribe"
    2) "greetings"
    3) (integer) 1
    1) "message"
    2) "greetings"
    3) "hello redis"
    1) "message"
    2) "greetings"
    3) "hello redis again"
    
    psubscribe gree* // 則這種情況下會subscribe所有的gree
    // 另外一個窗口
    C:Redis>redis-cli.exe
    127.0.0.1:6379> publish greetings "hello redis"
    (integer) 1
    127.0.0.1:6379> publish greetings "hello redis again"
    (integer) 1
    127.0.0.1:6379>

    transction

  • 相关阅读:
    旋转骰子
    自我介绍
    【边带权 维护节点和根距离 两点距离】银河英雄传说
    【含义冲突判断】程序自动分析
    【01背包 合并费用】搭配购买
    【网格图环判断】格子游戏
    【连通块 维护size】 连通块中的点数
    【模板】 合并集合
    【出栈顺序判断】 Rails
    【整除分块】 余数之和
  • 原文地址:https://www.cnblogs.com/kidsitcn/p/7967716.html
Copyright © 2020-2023  润新知