欢迎投稿

今日深度:

Redis 学习笔记(一) — 环境搭建及命令,redis学习笔记

Redis 学习笔记(一) — 环境搭建及命令,redis学习笔记


Redis 学习笔记(一) — 环境搭建及命令

标签(空格分隔): Redis Redis环境搭建 Redis命令


Redis环境搭建

Redis命令集


    1.SET key value [EX seconds] [PX milliseconds] [NX|XX] 设置一个key 
        127.0.0.1:6379> SET gender male 
        OK

    2.GET key 获得一个key
        127.0.0.1:6379> GET gender
        "male"

    3.EXISTS key [key ...] 查看Key是否存在
        127.0.0.1:6379> EXISTS zhangsan
        (integer) 0

    4.DEL key [key ...] 删除指定的 keys
        127.0.0.1:6379> DEL name age
        (integer) 2

    5.TYPE key 判断key的类型
        127.0.0.1:6379> TYPE name
        string

    6.KEYS pattern 使用* [] - ^通配符号匹配对应的key
        127.0.0.1:6379> KEYS *a*
        1) "name"
        2) "age"

    注:n?me 匹配 name, nxme,nbme...
        n*me 匹配 nme,name,naaaame...
        n[ae]me 匹配 name 和 neme 选择一个
        n[^a]me 匹配 nbme, ncme..., 不匹配 name
        n[a-b]me 匹配 name 和 nbme
        使用 \ 转义特殊字符.

    7.RANDOMKEY 随机访问当前库中的key
        127.0.0.1:6379> RANDOMKEY
        "age"
        127.0.0.1:6379> RANDOMKEY
        "name"
        127.0.0.1:6379> RANDOMKEY
        "name"

    8.RENAME key newkey 修改key的名称
        127.0.0.1:6379> RENAME name name2
        OK
        127.0.0.1:6379> exists name2
        (integer) 1

    9.RENAMENX key newkey 修改key的名字,如果已存在就不修改
        127.0.0.1:6379> RENAMENX name2 name
        (integer) 1
        127.0.0.1:6379> RENAMENX name age
        (integer) 0

    10.EXPIRE key seconds 指定某一个key的过期时间以秒为单位
        127.0.0.1:6379> EXPIRE name 60
        (integer) 1

    11.PEXPIRE key milliseconds 指定某一个key的过期时间以毫秒为单位
        127.0.0.1:6379> PEXPIRE age 60000
        (integer) 1

    12.TTL key 查看key是否过期返回秒,永不过期则返回-1
        127.0.0.1:6379> TTL name
        (integer) 41
        127.0.0.1:6379> TTL age
        (integer) -1

    13.TTL key 查看key是否过期返回毫秒,永不过期则返回-1
        127.0.0.1:6379> PTTL age
        (integer) 33168

    14.PERSIST key 删除key的过期时间
        127.0.0.1:6379> PERSIST age
        (integer) 1
        127.0.0.1:6379> PTTL age
        (integer) -1

    15.SELECT index 选择数据库index表示数据库下标默认值,可选值0~15(可配)
        127.0.0.1:6379> SELECT 0
        OK

    16.MOVE key db 移动key到指定数据库
        127.0.0.1:6379> SELECT 0
        OK
        127.0.0.1:6379> GET name
        "zhangSan"
        127.0.0.1:6379> SELECT 1
        OK
        127.0.0.1:6379[1]> GET name
        (nil)
        127.0.0.1:6379[1]> SELECT 0
        OK
        127.0.0.1:6379> MOVE name 1
        (integer) 1
        127.0.0.1:6379> SELECT 1
        OK
        127.0.0.1:6379[1]> GET name
        "zhangSan"

String 类型


    1.SET key value 保存 k-v
        127.0.0.1:6379> SET user qikk
        OK

    2.SETNX key value 当key不存在时候 保存k-v
        127.0.0.1:6379> SETNX user qikk
        (integer) 0
        127.0.0.1:6379> SETNX name zhangSan
        (integer) 1

    3.GET key 获取指定key的值
        127.0.0.1:6379> GET user
        "qikk"

    4.GETSET key value 获取值并且赋新值
        127.0.0.1:6379> GETSET user kkqi
        "qikk"
        127.0.0.1:6379> GET user
        "kkqi"

    5.MSET key value [key value ...] 一次性设置多个k-v
        127.0.0.1:6379> MSET user qikk name zhangSan
        OK
        127.0.0.1:6379> KEYS *
        1) "name"
        2) "user"

    6.MGET key [key ...] 一次性获取多这个值
        127.0.0.1:6379> MGET user name
        1) "qikk"
        2) "zhangSan"

    7.MSETNX key value [key value ...] 次性设置多个k-v,如果存在就放弃
        127.0.0.1:6379> MSETNX user qikk age 18
        (integer) 0
        127.0.0.1:6379> MSETNX age 18 gender male
        (integer) 1

    8.INCR key 给指定的key加1
        127.0.0.1:6379> GET age
        "18"
        127.0.0.1:6379> INCR age
        (integer) 19
        127.0.0.1:6379> GET age
        "19"

    9.DECR key 给指定的key减1
        127.0.0.1:6379> GET age
        "19"
        127.0.0.1:6379> DECR age
        (integer) 18
        127.0.0.1:6379> GET age
        "18"

    10.INCRBY key value 给指定的key值增加value
        127.0.0.1:6379> GET age
        "18"
        127.0.0.1:6379> INCRBY age 10
        (integer) 28
        127.0.0.1:6379> GET age
        "28"

    11.DECRBY key value 给指定的key值减去value
        127.0.0.1:6379> GET age
        "28"
        127.0.0.1:6379> DECRBY age 10
        (integer) 18
        127.0.0.1:6379> GET age
        "18"

    12.STRLEN key 获取指定key-value的长度
        127.0.0.1:6379> STRLEN user
        (integer) 4
        127.0.0.1:6379> GET user
        "qikk"

    13.SETRANGE key offset value 覆盖指定值
        127.0.0.1:6379> GET user
        "qikk"
        127.0.0.1:6379> SETRANGE user 0 kk
        (integer) 4
        127.0.0.1:6379> GET user
        "kkkk"

    14.APPEND key value 追加
       127.0.0.1:6379> GET user
        "qikk"
        127.0.0.1:6379> APPEND user lovejava
        (integer) 12
        127.0.0.1:6379> GET user
        "qikklovejava"

List操作


    1.LPUSH/RPUSH key value [value ...] 存储值(LPUSH将某个值加入到一个key列表头部,RPUSH将某个值加入到一个key列表末尾)
        LPUSH:
        127.0.0.1:6379> LPUSH user qikk zhangSan liSi
        (integer) 3
        127.0.0.1:6379> LRANGE user 0 2
        1) "liSi"
        2) "zhangSan"
        3) "qikk"
        RPUSH:
        127.0.0.1:6379> RPUSH user wangWu
        (integer) 4
        127.0.0.1:6379> LRANGE user 0 3
        1) "liSi"
        2) "zhangSan"
        3) "qikk"
        4) "wangWu"

    2.LRANGE key start stop 遍历指定下标内的元素 stop 等-1代表遍历所有
        127.0.0.1:6379> LRANGE user 0 3
        1) "liSi"
        2) "zhangSan"
        3) "qikk"
        4) "wangWu"

    3.LLEN key 计算list长度
        127.0.0.1:6379> LLEN user
        (integer) 4

    4.LINDEX key index 获取指定下标元素
        127.0.0.1:6379> LINDEX user 0
        "liSi"
        127.0.0.1:6379> LINDEX user 3
        "wangWu"

    5.LSET key index value 修改指定位置的值
        127.0.0.1:6379> LINDEX user 3
        "wangWu"
        127.0.0.1:6379> LSET user 3 zhaoLiu
        OK
        127.0.0.1:6379> LINDEX user 3
        "zhaoLiu"

    6.LREM key count value 删除指定数目的值
        127.0.0.1:6379> LRANGE user 0 -1
        1) "liSi"
        2) "zhangSan"
        3) "qikk"
        4) "zhaoLiu"
        5) "zhaoLiu"
        127.0.0.1:6379> LREM user 5 zhaoLiu
        (integer) 2

    7.LINSERT key BEFORE|AFTER pivot value 在指定元素位置插入值
        127.0.0.1:6379> LRANGE user 0 -1
        1) "liSi"
        2) "zhangSan"
        3) "qikk"
        127.0.0.1:6379> LINSERT user before qikk wangWu
        (integer) 4
        127.0.0.1:6379> LRANGE user 0 -1
        1) "liSi"
        2) "zhangSan"
        3) "wangWu"
        4) "qikk"

    8.LPOP/RPOP key 弹出元素
        127.0.0.1:6379> LRANGE user 0 -1
        1) "liSi"
        2) "zhangSan"
        3) "wangWu"
        4) "qikk"
        127.0.0.1:6379> LPOP user
        "liSi"
        127.0.0.1:6379> RPOP user
        "qikk"

    9.LTRIM key start stop 保留子集
        127.0.0.1:6379> LRANGE user 0 -1
        1) "zhangSan"
        2) "wangWu"
        3) "qikk"
        127.0.0.1:6379> LTRIM user 0 1
        OK
        127.0.0.1:6379> LRANGE user 0 -1
        1) "zhangSan"
        2) "wangWu"

Set 操作


    1.SADD key member [member ...] 为集合添加元素
        127.0.0.1:6379> SADD user qikk zhangSan liSi
        (integer) 3

    2.SMEMBERS key 显示集合中所有元素 (无序)
        127.0.0.1:6379> SMEMBERS user
        1) "qikk"
        2) "zhangSan"
        3) "liSi"

    3.SCARD key 计算元素数量
        127.0.0.1:6379> SCARD user
        (integer) 3

    4.SDIFF key [key ...] 计算集合差集
        127.0.0.1:6379> SMEMBERS user
        1) "qikk"
        2) "zhangSan"
        3) "liSi"
        127.0.0.1:6379> SMEMBERS user1
        1) "whangWu"
        2) "zhangSan"
        127.0.0.1:6379> SDIFF user user1
        1) "qikk"
        2) "liSi"

    5.SDIFFSTORE destination key [key ...] 存储差集
        127.0.0.1:6379> SDIFFSTORE user2 user user1
        (integer) 2
        127.0.0.1:6379> SMEMBERS user2
        1) "qikk"
        2) "liSi"

    6.SINTER key [key ...] 计算交集
        127.0.0.1:6379> SMEMBERS user
        1) "qikk"
        2) "zhangSan"
        3) "liSi"
        127.0.0.1:6379> SMEMBERS user1
        1) "whangWu"
        2) "zhangSan"
        127.0.0.1:6379> SINTER user user1
        1) "zhangSan"

    7.SINTERSTORE destination key [key ...] 存储交集
        127.0.0.1:6379> SINTERSTORE user3 user user1
        (integer) 1
        127.0.0.1:6379> SMEMBERS user3
        1) "zhangSan"

    8.SISMEMBER key member 判断member是不是成员
        127.0.0.1:6379> SISMEMBER user qikk
        (integer) 1
        127.0.0.1:6379> SISMEMBER user zhaoLiu
        (integer) 0

    9.SMOVE source destination member从一个集合中向另一个集合移动元素
        127.0.0.1:6379> SMEMBERS user
        1) "qikk"
        2) "zhangSan"
        3) "liSi"
        127.0.0.1:6379> SMEMBERS user1
        1) "whangWu"
        2) "zhangSan"
        127.0.0.1:6379> SMOVE user user1 liSi
        (integer) 1
        127.0.0.1:6379> SMEMBERS user
        1) "qikk"
        2) "zhangSan"
        127.0.0.1:6379> SMEMBERS user1
        1) "whangWu"
        2) "zhangSan"
        3) "liSi"

    10.SPOP key [count] 弹出多少元素
        127.0.0.1:6379> SMEMBERS user
        1) "qikk"
        2) "zhangSan"
        3) "liSi"
        127.0.0.1:6379> SPOP user 2
        1) "zhangSan"
        2) "qikk"
        127.0.0.1:6379> SMEMBERS user
        1) "liSi"

    11.SRANDMEMBER key [count] 随机返回元素(不弹出)
        127.0.0.1:6379> SMEMBERS user
        1) "qikk"
        2) "zhangSan"
        3) "liSi"
        127.0.0.1:6379> SRANDMEMBER user 2
        1) "qikk"
        2) "zhangSan"

    12.SREM key member [member ...] 删除指定元素
        127.0.0.1:6379> SMEMBERS user
        1) "qikk"
        2) "zhangSan"
        3) "liSi"
        127.0.0.1:6379> SREM user qikk
        (integer) 1
        127.0.0.1:6379> SMEMBERS user
        1) "zhangSan"
        2) "liSi"

    13.SSCAN key cursor [MATCH pattern] [COUNT count] 查询遍历
        127.0.0.1:6379> SSCAN user 0 COUNT 3
        1) "0"
        2) 1) "qikk"
           2) "zhangSan"
           3) "liSi"
        127.0.0.1:6379> SSCAN user 3 COUNT 3
        1) "0"
        2) 1) "liSi"

    14.SUNION key [key ...] 求并集
        127.0.0.1:6379> SMEMBERS user
        1) "qikk"
        2) "zhangSan"
        3) "liSi"
        127.0.0.1:6379> SMEMBERS user1
        1) "zhangSan"
        2) "liSi"
        127.0.0.1:6379> SUNION user user1
        1) "qikk"
        2) "zhangSan"
        3) "liSi"

    15.SUNIONSTORE destination key [key ...] 存储并集的内容
        127.0.0.1:6379> SMEMBERS user
        1) "qikk"
        2) "zhangSan"
        3) "liSi"
        127.0.0.1:6379> SMEMBERS user1
        1) "zhangSan"
        2) "liSi"
        127.0.0.1:6379> SUNIONSTORE user5 user user1
        (integer) 3
        127.0.0.1:6379> SMEMBERS user5
        1) "qikk"
        2) "zhangSan"
        3) "liSi"

SortedSet(ZSet) 类型 (不允许存在重复的数据,同时还可以通过分数排序)

    1.ZADD key score member [[score member] [score member] ...]    添加一个有序集合元素
        127.0.0.1:6379> ZADD user 80 qikk
        (integer) 1

    2.ZCARD users 计算总数
        127.0.0.1:6379> ZCARD user
        (integer) 2

    3.ZCOUNT key min max 计算min和max之间的元素
        127.0.0.1:6379> ZCOUNT user 80 100
        (integer) 2

    4.ZINCRBY key increment member 给某个特定元素加分 (元素不存在则添加元素)
        127.0.0.1:6379> ZINCRBY user 10 zhangSan
        "90"

    5.ZRANGE key start stop [WITHSCORES]返回一个范围内的元素 使用withscore 显示分数
        127.0.0.1:6379> ZRANGE user 0 -1
        1) "liSi"
        2) "qikk"
        3) "zhangSan"
        127.0.0.1:6379> ZRANGE user 0 -1 withscores
        1) "liSi"
        2) "10"
        3) "qikk"
        4) "80"
        5) "zhangSan"
        6) "90"

    6.ZREVRANGE key start stop [WITHSCORES] 按分数从大到小显示元素 
        127.0.0.1:6379> ZREVRANGE user 0 -1
        1) "zhangSan"
        2) "qikk"
        3) "liSi"
        127.0.0.1:6379> ZREVRANGE user 0 -1 withscores
        1) "zhangSan"
        2) "90"
        3) "qikk"
        4) "80"
        5) "liSi"
        6) "10"

    7.ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] 分值分页查询
        127.0.0.1:6379> ZRANGEBYSCORE user 0 100 
        1) "liSi"
        2) "qikk"
        3) "zhangSan"
        127.0.0.1:6379> ZRANGEBYSCORE user 0 100 LIMIT 0 1
        1) "liSi"
        127.0.0.1:6379> ZRANGEBYSCORE user 0 100 WITHSCORES LIMIT 0 1
        1) "liSi"
        2) "10"

    8.ZRANK key member 返回按照分数排名位置
        127.0.0.1:6379> ZRANK user qikk
        (integer) 1 
        127.0.0.1:6379> ZRANK user zhangSan
        (integer) 2

    9.ZREVRANK key member 倒序排名位置
        127.0.0.1:6379> ZRANK user zhangSan
        (integer) 2
        127.0.0.1:6379> ZREVRANK user zhangSan
        (integer) 0

    10.ZREM key member [member ...] 删除元素
        127.0.0.1:6379> ZRANGE user 0 -1
        1) "liSi"
        2) "qikk"
        3) "zhangSan"
        127.0.0.1:6379> ZREM user zhangSan
        (integer) 1
        127.0.0.1:6379> ZRANGE user 0 -1 
        1) "liSi"
        2) "qikk"

    11.ZREMRANGEBYRANK key start stop 根据排名删除数据
        127.0.0.1:6379> ZRANGE user 0 -1
        1) "liSi"
        2) "zhangSan"
        3) "wangWu"
        4) "zhaoLiu"
        5) "qikk"
        127.0.0.1:6379> ZREMRANGEBYRANK user 0 1
        (integer) 2
        127.0.0.1:6379> ZRANGE user 0 -1
        1) "wangWu"
        2) "zhaoLiu"
        3) "qikk"

    12.ZREMRANGEBYSCORE key min max 根据分数删除元素
        127.0.0.1:6379> ZRANGE user 0 -1 WITHSCORES
        1) "liSi"
        2) "30"
        3) "wangWu"
        4) "60"
        5) "zhaoLiu"
        6) "70"
        7) "qikk"
        8) "80"
        9) "zhangSan"
        10) "80"
        127.0.0.1:6379> ZREMRANGEBYSCORE user 10 50
        (integer) 1
        127.0.0.1:6379> ZRANGE user 0 -1 WITHSCORES
        1) "wangWu"
        2) "60"
        3) "zhaoLiu"
        4) "70"
        5) "qikk"
        6) "80"
        7) "zhangSan"
        8) "80"

    13.ZSCAN key cursor [MATCH pattern] [COUNT count] 扫描
        127.0.0.1:6379> ZSCAN user 0 MATCH zh*
        1) "0"
        2) 1) "zhaoLiu"
           2) "70"
           3) "zhangSan"
           4) "80"

    14.ZSCORE key member 获取分数
        127.0.0.1:6379> ZSCORE user qikk
        "80" 

    15.ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] 合并   
        127.0.0.1:6379> ZRANGE user 0 -1 WITHSCORES
        1) "wangWu"
        2) "60"
        3) "zhaoLiu"
        4) "70"
        5) "qikk"
        6) "80"
        7) "zhangSan"
        8) "80"

        127.0.0.1:6379> ZRANGE user1 0 -1 WITHSCORES
        1) "xiaohei"
        2) "40"
        3) "xiaobai"
        4) "50"
        5) "xiaohuang"
        6) "60"

        127.0.0.1:6379> ZUNIONSTORE users 2 user user1 WEIGHTS 1 1 AGGREGATE SUM
        (integer) 7

        127.0.0.1:6379> ZRANGE users 0 -1 WITHSCORES
         1) "xiaohei"
         2) "40"
         3) "xiaobai"
         4) "50"
         5) "wangWu"
         6) "60"
         7) "xiaohuang"
         8) "60"
         9) "zhaoLiu"
        10) "70"
        11) "qikk"
        12) "80"
        13) "zhangSan"
        14) "80"

Hash 类型

    1.HSET key field value   设置一个K-V对  field是key
        127.0.0.1:6379> HSET user users qikk
        (integer) 1

    2.HGET key field 获得一个key对应的value
        127.0.0.1:6379> HGET user users
        "qikk"

    3.HGETALL key 获得所有k-v
        127.0.0.1:6379> HGETALL user
        1) "users"
        2) "qikk"

    4.HDEL key field [field ...] 删除某一个k-v对
        127.0.0.1:6379> HDEL user users 
        (integer) 1

    5.HEXISTS key field 判断一个key是否存在
        127.0.0.1:6379> HEXISTS user users
        (integer) 0
        127.0.0.1:6379> HEXISTS user zs
        (integer) 1

    6.HKEYS key 获得所有key
        127.0.0.1:6379> HKEYS user
        1) "zs"
        2) "qkk"
        3) "ls"

    7.HVALS key 获得所有value
        127.0.0.1:6379> HVALS user
        1) "zhangSan"
        2) "qikk"
        3) "liSi"

    8.HMSET key field value [field value ...] 设置多个key/value
        127.0.0.1:6379> HMSET user ww wangWu zl zhaoLiu
        OK

    9.HMGET key field [field ...] 获得多个key的value
        127.0.0.1:6379> HMGET user ww zl
        1) "wangWu"
        2) "zhaoLiu"

    10.HSETNX key field value 设置一个不存在的key的值,key存在不做任何改变**
        127.0.0.1:6379> HSETNX user xh xiaoHei
        (integer) 1
        127.0.0.1:6379> HSETNX user xh xiaoHei
        (integer) 0

    11.HINCRBY key field increment 为value进行加法运算 
        127.0.0.1:6379> HINCRBY user age 10
        (integer) 20

    12.HINCRBYFLOAT key field increment 为value加上浮点数
        127.0.0.1:6379> HINCRBYFLOAT user age 0.00
        "20"
        127.0.0.1:6379> HINCRBYFLOAT user age 0.9
        "20.9"
        127.0.0.1:6379> HINCRBYFLOAT user age 0.99
        "21.89"

www.htsjk.Com true http://www.htsjk.com/redis/31615.html NewsArticle Redis 学习笔记(一) — 环境搭建及命令,redis学习笔记 Redis 学习笔记(一) — 环境搭建及命令 标签(空格分隔): Redis Redis环境搭建 Redis命令 Redis环境搭建 Redis命令集 1.SET key value...
相关文章
    暂无相关文章
评论暂时关闭