美文网首页
Redis基本指令操作

Redis基本指令操作

作者: 村东头老骥 | 来源:发表于2020-02-17 21:16 被阅读0次

    Redis常用操作

    Redis的值的类型分为五种

    • 字符串 String
    • 哈希 hash
    • 列表 list
    • 集合 set
    • 有序集合 zset

    String

    字符串类型是redis中最为常见的数据类型,它在redis中是二进制安全的,这便意味着该类型可以接受任何数据格式的数据,如jpeg图像数据或json数据对象描述信息等.在redis中字符串类型的value最多可以容纳的数据长度是512M

    字符串的设置与获取

    set key value
    get key
    注意 : 如果设置的键不存在则为添加,如果设置的键已经存在则为修改

    127.0.0.1:6379> set name kevin
    OK
    127.0.0.1:6379> get name 
    "kevin"
    

    设置键值以及过期时间,以秒为单位 setex

    setex key seconds value

    127.0.0.1:6379> setex name 5 kevin 
    OK
    127.0.0.1:6379> get name 
    "kevin"
    127.0.0.1:6379> get name
    (nil)   #  数据已不存在
    

    设置多个值

    mset key1 value1 key2 value2 ...
    mget key1 key2 key3

    127.0.0.1:6379> mset name kevin age 18 sex man
    OK
    127.0.0.1:6379> get name
    "kevin"
    127.0.0.1:6379> get age
    "18"
    127.0.0.1:6379> mget name age sex
    1) "kevin"
    2) "18"
    3) "man"
    

    对值进行拼接追加 append

    append key value

    127.0.0.1:6379> set say hello
    OK
    127.0.0.1:6379> get say
    "hello"
    127.0.0.1:6379> append say word
    (integer) 9
    127.0.0.1:6379> get say
    "helloword"
    

    键操作

    keys * (正则匹配) 获取所有的键

    127.0.0.1:6379> keys *
    1) "age"
    2) "name"
    3) "sex"
    4) "say"
    

    判断键是否存在 exists

    exists key

    127.0.0.1:6379> exists name
    (integer) 1  # 存在返回1 
    127.0.0.1:6379> exists no
    (integer) 0  # 不存在返回0
    

    查看键的数据类型 type

    type key

    127.0.0.1:6379> type name
    string
    127.0.0.1:6379> type age
    string
    

    删除键 del

    del key1 key2

    127.0.0.1:6379> del name
    (integer) 1
    # 删除不存在的键
    127.0.0.1:6379> del name2
    (integer) 0
    

    设置键的指定过期时间 expire

    expire key

    127.0.0.1:6379> expire name 4
    (integer) 1
    

    查看键的过期时间 ttl

    ttl key

    127.0.0.1:6379> expire age 10 
    (integer) 1
    127.0.0.1:6379> ttl age
    (integer) 8
    127.0.0.1:6379> ttl age
    

    hash

    哈希用于存储对象,对象结构为属性,值
    值的类型为String

    设置单个属性值

    hset key field value

    127.0.0.1:6379> hset user name kevin
    (integer) 1
    127.0.0.1:6379> hget user name
    "kevin"
    

    设置多个属性值

    mset key field1 value1 field2 value2 ...

    127.0.0.1:6379> hmset userinfo name kevin age 18 
    OK
    127.0.0.1:6379> hmget userinfo name age
    1) "kevin"
    2) "18"
    

    获取指定键所有的属性

    hkeys key

    127.0.0.1:6379> hkeys userinfo
    1) "name"
    2) "age"
    

    获取指定键所有的值

    hvals key

    127.0.0.1:6379> hvals userinfo
    1) "kevin"
    2) "18"
    

    删除

    hdel key field1 field2 ...

    127.0.0.1:6379> hdel userinfo age
    (integer) 1
    127.0.0.1:6379> hkeys userinfo
    1) "name"
    

    list 类型

    • 列表的元素类型为string
    • 按照插入顺序排序

    增加

    左侧插入数据

    lpush key value1 value2 ...

    127.0.0.1:6379> lpush userinfo Kevin Bob Lisa
    (integer) 3
    127.0.0.1:6379> lrange userinfo 0 -1
    1) "Lisa"
    2) "Bob"
    3) "Kevin"
    

    右侧插入数据

    rpush key value1 value2 ...

    127.0.0.1:6379> rpush userinfo Hugo
    (integer) 4
    127.0.0.1:6379> lrange userinfo 0 -1
    1) "Lisa"
    2) "Bob"
    3) "Kevin"
    4) "Hugo"
    

    在指定元素的前或后插⼊新元素

    linsert key before或after 现有元素 新元素

    127.0.0.1:6379> linsert userinfo before Kevin insert
    (integer) 5
    127.0.0.1:6379> lrange userinfo 0 -1
    1) "Lisa"
    2) "Bob"
    3) "insert"
    4) "Kevin"
    5) "Hugo"
    127.0.0.1:6379> linsert userinfo after Kevin insert1
    (integer) 6
    127.0.0.1:6379> lrange userinfo 0 -1
    1) "Lisa"
    2) "Bob"
    3) "insert"
    4) "Kevin"
    5) "insert1"
    6) "Hugo"
    
    

    获取

    返回列表中指定范围内的元素

    • start , stop 为元素的下标索引
    • 索引左侧开始, 第一个元素为0
    • 索引可以是负数,表示从尾部开始计数,如 -1 表示最后一个元素
    lrange userinfo 0 -1
    

    设置指定索引位置的元素值

    lset key index value
    索引从左侧开始,第⼀个元素为0
    索引可以是负数,表示尾部开始计数,如-1表示最后⼀个元素

    127.0.0.1:6379> lset userinfo 0 Hugo
    OK
    127.0.0.1:6379> lrange userinfo 0 -1
    1) "Hugo"
    2) "Bob"
    3) "insert"
    4) "Kevin"
    5) "insert1"
    6) "Hugo"
    

    删除

    将列表中前count次出现的值为value的元素移除

    • count > 0: 从头往尾移除
    • count < 0: 从尾往头移除
    • count = 0: 移除所有

    lrem key count value

    127.0.0.1:6379> lrange users 0 -1
    1) "Kevin"
    2) "Lisa"
    3) "Kevin"
    4) "Bob"
    5) "Kevin"
    127.0.0.1:6379> lrem users 1 Kevin
    (integer) 1
    127.0.0.1:6379> lrange users 0 -1
    1) "Lisa"
    2) "Kevin"
    3) "Bob"
    4) "Kevin"
    

    set 类型

    • 无序集合
    • 元素为String类型
    • 元素具有唯一性,不重复
      注意 : 对于集合没有修改操作

    增加

    sadd key member1 member2 ...

    127.0.0.1:6379> sadd names zhangsan lisi wangwu
    (integer) 3
    127.0.0.1:6379> smembers names
    1) "lisi"
    2) "zhangsan"
    3) "wangwu"
    

    删除

    srem key

    127.0.0.1:6379> srem names lisi
    (integer) 1
    127.0.0.1:6379> smembers names
    1) "zhangsan"
    2) "wangwu"
    

    zset 类型

    • sorted set 有序集合
    • 元素为string类型
    • 元素具有唯一性,不重复
    • 每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序
      说明 :没有修改

    增加

    zadd key score1 member1 score2 member2 ...

    127.0.0.1:6379> zadd user 1 Kevin 2 Bob 3 Lisa
    (integer) 3
    127.0.0.1:6379> zrange user 0 -1
    1) "Kevin"
    2) "Bob"
    3) "Lisa"
    

    获取

    • 返回指定范围内的元素
    • start、stop为元素的下标索引
    • 索引从左侧开始,第⼀个元素为0
    • 索引可以是负数,表示从尾部开始计数,如-1表示最后⼀个元素

    zrange key start stop

    zrange user 0 -1
    

    返回index值在min和max之间的成员

    127.0.0.1:6379> zrangebyscore user 1 2
    1) "Kevin"
    2) "Bob"
    

    返回成员member的score值

    127.0.0.1:6379> zscore user Bob
    "2"
    

    删除

    删除指定的元素

    zrem key member1 member2 ...

    127.0.0.1:6379> zrem user Lisa
    (integer) 1
    127.0.0.1:6379> zrange user 0 -1
    1) "Kevin"
    2) "Bob"
    

    删除权重在指定范围的元素

    zremrangebyscore key min max

    相关文章

      网友评论

          本文标题:Redis基本指令操作

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