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'

redis day02的更多相关文章

  1. redis day02 下

    位图:是二进制数据(0101101010)2^32 强势点: 01_login :101110(比如:第一天登录,二天没登录) 传统的字符串解决方案中 记录用户登录日期  统计堪忧 01_login_ ...

  2. 22期老男孩Ptython全栈架构师视频教程

    老男孩Ptython全栈架构师视频教程 Python最新整理完整版22期视频教程 超60G课程容量<ignore_js_op> <ignore_js_op> <ignor ...

  3. day02 mysql基本语句 存储引擎 数据类型 完整性约束

    day02 mysql   一.sql的基本语句     系统数据库         information_schema: 虚拟库, 不占磁盘空间(在内存汇中): 存的是数据库启动后的一些参数, 如 ...

  4. day02 MySQL基本操作

    day02 MySQL基本操作 昨日内容回顾 数据库演变史 1.纯文件阶段 2.目录规范 3.单机游戏 4.联网游戏 # 数据库就是一款帮助我们管理数据的程序 软件开发架构及数据库本质 cs架构与bs ...

  5. 大数据学习day31------spark11-------1. Redis的安装和启动,2 redis客户端 3.Redis的数据类型 4. kafka(安装和常用命令)5.kafka java客户端

    1. Redis Redis是目前一个非常优秀的key-value存储系统(内存的NoSQL数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list ...

  6. 使用redis构建可靠分布式锁

    关于分布式锁的概念,具体实现方式,直接参阅下面两个帖子,这里就不多介绍了. 分布式锁的多种实现方式 分布式锁总结 对于分布式锁的几种实现方式的优劣,这里再列举下 1. 数据库实现方式 优点:易理解 缺 ...

  7. Ignite性能测试以及对redis的对比

    测试方法 为了对Ignite做一个基本了解,做了一个性能测试,测试方法也比较简单主要是针对client模式,因为这种方法和使用redis的方式特别像.测试方法很简单主要是下面几点: 不作参数优化,默认 ...

  8. mac osx 安装redis扩展

    1 php -v查看php版本 2 brew search php|grep redis 搜索对应的redis   ps:如果没有brew 就根据http://brew.sh安装 3 brew ins ...

  9. Redis/HBase/Tair比较

    KV系统对比表 对比维度 Redis Redis Cluster Medis Hbase Tair 访问模式    支持Value大小 理论上不超过1GB(建议不超过1MB) 理论上可配置(默认配置1 ...

随机推荐

  1. Spring Boot without the web server

    https://stackoverflow.com/questions/26105061/spring-boot-without-the-web-server/28565277 1. spring.m ...

  2. 已知root用户密码并登录,修改mysql用户名密码方法

    首先进入命令行下:以root用户登录,命令:mysql -uroot -p 回车 输入密码:mysql>use mysql:mysql>UPDATE user SET password=P ...

  3. VUE.js入门学习(1)-起步

    1.hello world <div id="app">{{content}}</div>var app = new Vue({ el:'#app', da ...

  4. input自动填入密码以后变成白色和黄色的解决办法

    问题描述: 1.谷歌自动输入账号密码以后颜色变成黄色: 解决办法: 加样式: input:-webkit-autofill { background: red !important; color: # ...

  5. 3DES 原理

    3DES的原理: 加密阶段:用密钥1加密->用密钥2解密->用密钥3加密 解密阶段:用密钥3解密->用密钥2加密->用密钥1解密 版权声明:本文为博主原创文章,未经博主允许不得 ...

  6. c++ 模板练习2

    #include "stdafx.h" #include <iostream> using namespace std; template<class T> ...

  7. 快速排序_python

    def quicksort(ls,result): if len(ls)<=1: result+=ls # return result else: flag=ls[0] left=[x for ...

  8. h5-任意元素居中

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Windows安装使用SonarQube7.4 对java项目进行代码质量扫描

    我这里使用7.4因为使用JDK是1.8 其它版本看下依赖版本就好 1.下载7.4版本安装包 https://binaries.sonarsource.com/CommercialDistributio ...

  10. 题解 P6098 【[USACO19FEB]Cow Land G】

    震惊,蒟蒻学树剖第二天就打题解 所以说,理解之后树剖这种东西其实难度真心不大.至少这种模板题都可以秒切的 这里推荐一个博客: 树剖详解 蒟蒻就是在这个博客上学到的 如果想看我自己写的总结,请点 我的博 ...