• Redis开发与运维--书籍学习笔记


    redis的五种数据类型

    类型
    内部编码
    常用命令
    应用场景
    string
    int、embstr、raw
    int:8个字节的长整形
    embstr:小于等于39字节的字符串
    raw:大于39字节的字符串
    set、exists、setnx(已存在则失败)  
    获取:get
    批量设置值:mset  批量获取mget
    计数:incr自增、decr自检、incrby指定自增、decrby指定自减
    缓存功能、计数、共享Session、限速(限制手机验证码获取时间)
    hash
    hashtable、ziplist
    当field个数较少并且没有大的value是内部编码是ziplist
    如果value大于64字节或者fueld个数超过512个则使用hashtable
    hset、hget、
    删除hdel会删除一个或多个field
    计算field的个数 hlen key
    批量设置或获取 hmset、 hmget  
    判断是否存在hexists key field
    获取所有field :hkeys key
    获取value:hvals key
    获取所有的field-value:hgetall key
    hincrby key field、 hincrbyfloat key field
    计算value的字符串长度hstrlen key field
     
    存放用户信息
    list
    ziplist、linkedlist
     
    ziplist列表元素个数小于512默认配置,同时列表中每个元素的值都小于64字节(默认配置,可配置其他值)
    当列表无法满足zipliest的条件时,则选择使用linkedlist
     
     
    左边插入lpush、右边插入lpush
    某个元素前面后后边插入linset key before|after piovt value
    获取指定范围内的元素列表 lrange key start end
    获取指定下标的lindex key index
    获取列表长度 llen key
    删除;左弹 lpop key、右弹rpop key  、删除指定元素 lrem key count value (count 正数从左往右  负数从右往左  0 删除所有)
    l按照索引范围修剪列表 ltrim key start end  (其实就是截取掉)
    修改lset key index newValue
    阻塞 blpop key 【key...】timeout
    brpop key [key...] timeout    (timeout:阻塞时间单位是秒)
     
     
    消息队列、文章列表
    set
    intset、hashtable
    元素为整数并且较少(默认512个)intset
    如果超过512个或者元素不为整数则是hashtable
    sadd key element [elelment…]
    删除 srem key element
    计算元素格式 scard key
    判断元素是否在集合中 sismember key element
    随机从集合中返回指定个数元素 srandmember key 【count】
    从集合中随机弹出元素 spop key
    获取所有元素 smembers key
    集合间操作:
       1、多个集合的交集 sinter key 【key...】
       2、多个集合的并集 sunion key 【key...】
       3、多个集合的差集sdiff key 【key...】
       4、将交集、并集、差集结果保存:
              sintertore destination key 【key...】
              Sunionstore destination key [key...]
              Sdiffstore destination key [key...]
     
    标签、
    zset
    ziplist、skiplist
    当有序集合元素个数小于128个(默认配置)并且每个元素的值都小于64字节时则为ziplist
    如果超过128或某个元素大于64字节则内部编码会变为skiplist
    添加成员 zadd key score member 【score member】
    计算成员个数 zcard key
    计算某个成员分数zscore key member
    计算成员排名 低到高zrank key member   |  zrevrank key member 高到低
    删除成员zrem key member 【member...】
    增加成员的分数 zincrby key increment member  例:zincrby user:ranking 9 tom. 给tom加9分
    返回指定范围的成员 zrange | zrevrange  key start end 【withscores】备注:是否增加withscores为是否返回分数
    返回指定分数范围的成员 zrangebyscore | zrevrangebyscore key min max [withscores] [limit offset count]
    返回指定分数范围成员个数
    zcount  key min max
    删除指定排名内的升序元素 zremrangebyrank key start end
    删除指定分数范围的成员 zremrangebyscore key min max
    集合间操作:
         1、交集 zinterstore destination numkeys key [key…] [weights weight [weight…]]    [aggregate sum|min|max]
         2、并集  zunionstore destination numkeys key [key…] [weights weight [weight…]]    [aggregate sum|min|max]
       详情见56页
    典型的使用场景为排行榜系统,例如用户点赞数
     
  • 相关阅读:
    String源码分析
    solr IK分词器
    solr安装
    hadoop HA集群搭建(亲测)
    dubbo-admin安装
    关于idea中使用lamb表达式报错:ambda expressions are not supported at this language level
    web项目数据存入mysql数据库中文乱码问题
    dom4j解析xml
    js监听键盘提交表单
    Location replace() 方法
  • 原文地址:https://www.cnblogs.com/liyante/p/11660739.html
Copyright © 2020-2023  润新知