zoukankan      html  css  js  c++  java
  • Redis 应用&命令

    redis 五种数据类型:

    类型         结构                使用场景         备注        
    String 字符串   key value               各种数据,最大为512MB  
    Hash 哈希     key field1 val1              用户信息         单维数组
    List 列表     key val1 val2               队列          value 可重复
    Set 集合      key member1 member2         好友推荐         member不能重复,求交集差集等
    zset 有序集合   key score1 member1 score2 member2   排行榜         member不能重复,可加权重

    type               set              get
    String(字符串):      set key v            get key
    Hash(哈希):        hmset key k v        hgetall key, hget key k
    List(列表):        lpush key v          lrange key 0 10
    Set(集合):        sadd key v         smembers key
    zset(sorted set:有序集合):  zadd key score member   zrangebyscore key score score

    ----------------------------------------------------------------------------
    常用(通用)命令:
    del key 该命令用于在 key 存在时删除 key
    exists key 检查给定 key 是否存在
    expire key seconds 为给定 key 设置过期时间(秒)
    keys pattern 查找所有符合给定模式(pattern - (如:*;显示全部key))的 key
    persist key 移除 key 的过期时间,key 将持久保持
    ttl key 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)
    randomkey 从当前数据库中随机返回一个 key
    rename key newkey 修改 key 的名称
    type key 返回 key 所储存的值的类型

    ----------------------------------------------------------------------------
    string(字符串):
    set key value 设置指定 key 的值,若存在则覆盖
    get key 获取指定 key 的值
    getrange key start end 获取 key 中 指定范围的值;(limit)
    getset key value 将给定 key 的值设为 value ,并返回 key 的旧值(old value)
    mget key1 [key2..] 获取所有(一个或多个)给定 key 的值
    setnx key value 只有在 key 不存在时设置 key 的值。
    strlen key 返回 key 所储存的字符串值的长度
    setex key seconds value 设置指定 key 的值,并将 key 的过期时间设为 seconds (秒)
    mset key value [key value ...] 同时设置一个或多个 key-value 对。
    msetnx key value [key value ...] 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在
    incr key 将 key 中储存的数字值增一
    decr key 将 key 中储存的数字值减一
    append key value 将 value 追加到 key 原来的值的末尾

    ----------------------------------------------------------------------------
    hash(哈希):
    hgetall key 获取指定 key 的所有字段和值
    hset key field value 将 key 中的字段 field 的值设为 value
    hget key field 获取指定字段的值
    hkeys key 获取所有哈希表中的字段
    hvals key 获取所有值
    hlen key 获取字段的数量
    hmset key field1 value1 [field2 value2 ] 同时设置多个 field-value(字段-值)
    hmget key field1 [field2] 获取所有给定字段的值
    hdel key field1 [field2 ...] 删除一个或多个字段
    hexists key field 查看 key 中,指定的字段是否存在
    hsetnx key field value 只有在字段 field 不存在时,设置字段的值

    ----------------------------------------------------------------------------
    list(列表):
    lpush key value1 [value2 ...] 将一个或多个值插入到列表头部(左边)
    lpushx key value 将一个值插入到已存在的列表头部(左边)
    lpop key 移出并获取列表的第一个元素(左边)

    rpush key value1 [value2 ...] 在列表中添加一个或多个值;从右边
    rpushx key value 为已存在的列表添加值;从右边
    rpop key 移除并获取列表最后一个元素(右边第一个)

    lrange key start stop 获取列表指定范围内的元素 (lrange key 0 -1: 获取全部)
    llen key 获取列表长度
    lrem key count value 移除列表元素等于value的元素;当count>0时,从表头开始查找,移除count个;当count=0时,从表头开始查找,移除所有等于value的;当count<0时,从表尾开始查找,移除|count| 个

    lset key index value 通过索引设置列表元素的值
    lindex key index(数字索引: 0,1) 通过索引获取列表中的元素; index>=0,0 表头,1 第二个元素,依次类推;index<0,-1 表尾,-2倒数第二个元素,依次类推

    blpop key1 [key2 ...] timeout(秒) 移出并获取列表的第一个元素(左边第一个); 如果列表没有元素,会阻塞列表,直到等待超时或发现可弹出元素为止
    brpop key1 [key2 ...] timeout(秒) 移出并获取列表的最后一个元素(右边第一个); 如果列表没有元素,会阻塞列表,直到等待超时或发现可弹出元素为止
    linsert key before|after pivot value 将值插入到pivot的前面或后面。如果参照点pivot不存在不插入。如果有多个pivot,以离表头最近的为准

    ----------------------------------------------------------------------------
    set(集合):
    sadd key member1 [member2 ...] 向集合添加一个或多个成员
    scard key 获取集合的成员数
    sismember key member 判断 member 元素是否是集合 key 的成员
    smembers key 返回集合中的所有成员
    spop key 移除并返回集合中的一个随机元素
    srandmember key [count] 返回集合中一个或多个随机数
    srem key member1 [member2 ...] 移除集合中一个或多个成员

    ----------------------------------------------------------------------------
    sorted set(有序集合)
    zadd key score1 member1 [score2 member2 ...] 向有序集合添加一个或多个成员,或者更新已存在成员的分数
    zcard key 获取有序集合的成员数
    zrange key start stop [withscores(显示分数)] 返回指定索引区间内的成员
    例: zrange key 0 -1 withscores 显示全部成员与分数

    zrangebyscore key min max [withscores] 返回指定分数区间内的成员
    例: zrangebyscore key 1 4 withscores 1 <= score <= 4
    zrangebyscore key (1 4 withscores 1 < score <= 4
    zrangebyscore key -inf 1 withscores score <= 1

    zrank key member 返回指定成员的索引
    zrem key member [member ...] 移除一个或多个成员
    zremrangebyrank key start stop 移除给定的排名区间的所有成员
    zremrangebyscore key min max 移除给定的分数区间的所有成员
    zrevrange key start stop [withscores] 返回指定索引区间成员,分数从高到底
    zrevrangebyscore key max min [withscores] 返回指定分数区间内的成员,分数从高到低排序
    例: zrevrangebyscore key +inf -inf
    zrevrangebyscore key 5 2

    zrevrank key member 返回指定成员的排名,成员按分数值递减(从大到小)排序
    zscore key member 返回指定成员的分数值


    --------------------------------------------------------------------------------

    登陆:
    redis-cli -h ip -p port [-a password]
    redis-cli -h 192.168.1.145 -p 6382
    批量按照通配符删除:
    redis-cli -h 192.168.1.145 -p 6382 keys "NOTICE_*"| xargs redis-cli -h 192.168.1.145 -p 6382 del

    TODO:有待完善

  • 相关阅读:
    【Py】Python的调包日常——网络类
    【Py】Python的调包日常——转码类
    第09组 Beta冲刺(3/5)
    第09组 Beta冲刺(2/5)
    第09组 Beta冲刺(1/5)
    第09组 Alpha事后诸葛亮
    第09组 Alpha冲刺(6/6)
    第09组 Alpha冲刺(5/6)
    第09组 Alpha冲刺(4/6)
    第09组 Alpha冲刺(3/6)
  • 原文地址:https://www.cnblogs.com/blue-t/p/14495813.html
Copyright © 2011-2022 走看看