Redis 5+1

5+1

5大数据类型和key的操作

  1. String(字符串)
    1. string是redis最基本的类型
    2. string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M
    3. string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
  2. Hash(哈希,类似java里的Map)
    1. Redis hash 是一个键值对集合。
    2. Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
  3. List(列表)
    1. Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)
    2. 它的底层实际是个链表
  4. Set(集合)
    1. Redis的Set是string类型的无序集合。它是通过HashTable实现实现的,
  5. Zset(sorted set:有序集合)
    1. Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
    2. 不同的是每个元素都会关联一个double类型的分数。
    3. redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
常见操作命令
  1. key

    命令解析
    exists key判断某个key是否存在
    move key db移除key,当前库就没有了
    expire key 秒钟给key设置过期时间
    ttl key查看还有多少秒过期,-1表示永不过期,-2表示已过期
    type key查看你的key是什么类型
  2. String

    命令解析
    set/get/del/append/strlen设置/获取/删除/追加/长度
    Incr/decr/incrby/decrby增一/减一/增自定义/减自定义
    getrange key start end获取指定区间范围内的值 end=0 代表获取所有
    setrange key start value设置指定区间范围内的值,value长度不变,替换
    setex 键 秒值 真实值设置带过期时间的key,动态设置
    setnx 键 真实值只有在 key 不存在时设置 key 的值
    mset/mget/msetnx批量 设置/获取/设置(key存在时不设置)
    getset(先get再set)更新key的值 返回值是旧值
  3. List

    命令解析
    lpush/rpush/lrange左增/右增/左获取
    lpop/rpop剔除左边第一个数据/剔除右边第一个数据
    lindex按照索引下标获得元素(从上到下)
    llen长度
    lrem key n value删除n个value
    ltrim key开始index 结束index,截取指定范围的值后 再赋值给key
    rpoplpush key1 key2移除key1列表的最后一个元素,
    并将该元素添加到key2列表并返回被操作的值
    lset key index value指定更新第index位的值
    linsert key before/after index value在list某个已有值的 前/后 再添加具体值

    注:

    它是一个字符串链表,left(头)、right(尾)都可以插入添加;
    如果键不存在,创建新的链表;
    如果键已存在,新增内容;
    如果值全移除,对应的键也就消失了。
    链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。

  4. Set

    命令解析
    sadd/smembers/sismember添加/获取/判断是否存在
    scard获取集合里面的元素个数
    srem key value删除集合中元素
    srandmember key随机获取set集合中的某个值
    spop key随机剔除
    smove key1 key2 value在key1里的value值添加到key2中
    命令解析
    sdiff差集
    sinter交集
    sunion并集
  5. Redis哈希(Hash)

    命令解析
    hset/hget/hmset/hmget/hgetall/hdel添加/获取/批量添加/批量获取/获取所有/删除
    hlen长度
    hexists key是否存在key
    hkeys/hvals获取V中的所有key/获取V中的所有value
    hincrby/hincrbyfloat添加 整形/浮点型
    hsetnx不存在V的值时,先判断V中的key是否存在

    注:KV模式不变,但V是一个键值对

  6. Zset(sorted set)

    命令解析
    zadd key score1 v1 score2 v2 score3 v3设置value值并设置score值
    zrange key 0 -1 [withscores]获取排序后的value值,带上withscores则会把score值显示
    zrangebyscore key min max获取范围的value值 开始score1 结束score2
    zrem key删除元素
    zcard key获取数量
    zcount key min max获取l列表区间内的数据的数量
    zrank key获得values值
    zscore key获得分数
    zrevrank key values获得下标索引(分数按大到小排序)
    zrevrange获取列表(分数按大到小排序)
    zrevrangebyscore key max min获取列表区间(分数按大到小排序)

    注:

    在set基础上,加一个score值,根据score来排序。
    之前set是k1 v1 v2 v3,
    现在zset是k1 score1 v1 score2 v2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值