zoukankan      html  css  js  c++  java
  • redis day02

    Redis -带过期时间的key  如何删除掉的?

    在redis内部有个  过期字典,所有带过期时间的都有过期字典

    默认情况下 redis每秒会进行着10次过期字典的扫描,在每一次扫描过程里,执行如下操作:

      1,随机拿出20个key

      2,删除第一步中已经过期的key

      3,如果过期(删掉的)key 比例 超过 4分之一,就开始重复以上步骤,如果只有1个过期那就都不执行了

       默认 25ms的 超时时间,避免卡死

    内存即将满了  该怎么办?

       redis的配置项--maxmemory  - 我配4G

       策略:1,   noeviction  写服务拒绝(接受够4G就拒绝接受)  -- 默认配置

          2,   volatile-lru  尝试淘汰设置了过期时间的key,lru算法[最少使用优先],如果设置了这个,只接受有过期时间的

          3,   allkeys-lru   尝试淘汰所有的key,lru算法

          4,   volatile-ttl   尝试淘汰设置过期时间的key,谁ttl大 删谁

    列表数据类型(List)

    1,只能是字符串类型

    2,头尾增删快,中间增删慢

    3,元素可重复

    4,索引同python列表

    列表的常用命令

    1,从列表头部添加元素

     左插:LPUSH   KEY   value1 value2

     右插:RPUSH l2 a b c d

    2,查元素

      LRANGE l1 0 -1

    3,删除---当元素清空时,list的key也对应被删除

    9、列表头部,阻塞弹出,列表为空时阻塞BLPOP key timeout
    10、列表尾部,阻塞弹出,列表为空时阻塞
    BRPOP key timeout

    list 经典场景   生产者消费者模型

    查看库

     pip3 freeze | gre额p 'redis'

  • 相关阅读:
    js类数组
    内存中,外部碎片与内部碎片
    检测js随机函数是否随机
    Vue3 父子组件通信
    Promise的几个重要api
    npm知识总结
    vue中使用防抖函数
    absolute元素水平居中
    vue3 使用 data、computed、methods
    空白字符
  • 原文地址:https://www.cnblogs.com/gwy1163/p/12269081.html
Copyright © 2011-2022 走看看