论redis的内存占用
目前大部分成程序员都将一些数据放入到了缓存(redis)中,但是你是否对这个redis内存占用了解呢?下面我们就来说一下redis的内存最优使用:
1、我们首先来介绍一下我们在存入大量数据到redis中后会出现部分数据丢失情况:
Redis是用内存当缓存的。内存是无限的吗?相反,内存是很宝贵而且是有限的,磁盘是廉价而且是大量的。可能一台机器就几十个G的内存,但是可以有几个T的硬盘空间。Redis主要是基于内存来进行高性能、高并发的读写操作的。
那既然内存是有限的,比如Redis就只能用10个G,你一直往里面写数据,一直写一直写最后10个G都用的差不多了,你还写会,你想想会发生什么?当然会干掉一些的数据了,然后就保留10个G的数据。你说会不会造成数据丢失?
那Redis会干掉哪些数据?保留哪些数据呢?当然是干掉不常用的数据,保留常用的数据了。
所以说,这是缓存的一个最基本的概念:数据是会过期的。要么是你自己设置个过期时间,要么是Redis自己给干掉。
所以你的Redis如果使用不当,把生产数据存到里面,又没有去持久化到mysql,那就会有丢失的可能。
2、我们再来介绍一下过期时间:
有一种就是如果你给key设置好了一个过期时间,你知道到一定的时间再去查这个key就没有了,但是你知道redis是怎么给你弄成过期的吗?什么时候删除掉?
如果你不知道,在实际的使用过程中你就可能会发现这么一个问题:为啥好多数据明明应该过期了,结果发现redis内存占用还是很高?那是因为你不知道Redis是怎么删除那些过期key的。
举例,Redis 内存一共是10个G,你现在往里面写了5个G的数据,然后你对这些数据全都设置了10分钟之后过期,结果10分钟之后,你再来查看看,Redis的内存使用率怎么还是50%呢?5个G的数据都过期了,我从redis里查,是查不到了,结
果过期的数据为啥还占用着Redis的内存呢。
如果你连这个问题都不知道,上来就懵了,回答不出来,建议你使用Redis之前多做做功课,不然你写代码的时候,想当然的认为写进Redis的数据就一定会存在,后面导致系统各种漏洞和bug,就不好弄了。
好了今天就介绍这些吧,以后有时间了继续聊!!!!
论redis的内存占用的更多相关文章
- Redis主节点内存占用过高
0. 基本情况 Redis采用集群模式,560个主节点,主从比为1:1,单台机器上为16个节点.info memory观察到主节点A单个Redis内存used_memory_rss_human为9.2 ...
- redis实战笔记(9)-第9章 降低内存占用
本章主要内容 1.短结构( short structure) 2.分片结构( shared structure) 3.打包存储二进制位和字节 本章将介绍3种非常有价值的降低Redis内存占用的 ...
- Redis 实战 —— 12. 降低内存占用
简介 降低 Redis 的内存占用有助于减少创建快照和加载快照所需的时间.提升载入 AOF 文件和重写 AOF 文件时的效率.缩短从服务器进行同步所需的时间(快照. AOF 文件重写在 持久化选项 中 ...
- 深入了解一下Redis的内存模型!
一.前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分. 我们使用Redis时,会接触Redis的5种对象类型(字 ...
- Redis各种数据结构内存占用测试
启动时:(redis为空) 插入数据量都为100W(100W个key或者list中100W个值,或者1000个key,每个key中1000个值) String Key value # Memory u ...
- 降低Redis内存占用
1.降低redis内存占用的优点 1.有助于减少创建快照和加载快照所用的时间 2.提升载入AOF文件和重写AOF文件时的效率 3.缩短从服务器进行同步所需的时间 4.无需添加额外的硬件就可以让redi ...
- Redis需要多少内存预留-内存占用多少才安全
转: Redis需要多少内存预留-内存占用多少才安全 2018年02月10日 18:13:37 常城 阅读数:10280 版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...
- Redis设置内存最大占用值
Redis设置内存最大占用值: Redis设置占用物理机最大的内存 #占用最大20G maxmemory 20480mb Redis设置内存装不下了,有限删除即将过期的 当前已用内存超过maxmemo ...
- [转帖]美团在Redis上踩过的一些坑-3.redis内存占用飙升
美团在Redis上踩过的一些坑-3.redis内存占用飙升 博客分类: 运维 redis redismonitor内存突增client listinfo 转载请注明出处哈:http://car ...
随机推荐
- python3 flask shell
python shell来操作flask flask shell 报错: from flask_bootstrap import BootstrapImportError: No module nam ...
- Git使用ssh公钥
Git使用ssh公钥 一. 何谓公钥 1.很多服务器都是需要认证的,ssh认证是其中的一种.在客户端生成公钥,把生成的公钥添加到服务器,你以后连接服务器就不用每次都输入用户名和密码了. 2.很多gi ...
- flask blueprint出现的坑
from flask import Blueprint admin = Blueprint('admin',__name__) def init_bule(app): app.register_blu ...
- 探究Spring Boot中的接收参数问题与客户端发送请求传递数据
结合此篇参考Spring框架学习笔记(9)--API接口设计相关知识及具体编码实现 在使用Spring Boot进行接收参数的时候,发现了许多问题,之前一直都很忙,最近才稍微有空研究一下此问题. 网上 ...
- css 实现九宫格
1.自己写了一个,写完对比了下别人写的发现自己写的太low.故就不写自己太差劲的了. 别人写的我总结优化了一下,如果不用写内容去掉position,content简单也是可以的. <!DOCTY ...
- 在云服务搭建jupyter环境
一.环境配置 centeos7 python3 二.安装jupyter notebook 1.安装jupyter 安装Jupyter Notebook 通过pip安装Jupyter Notebook ...
- mui switch 点击事件不冒泡
工作上遇到一个问题 手机移动端app,采用mui框架,要求左边是手机号码,右边是switch开关,并且点击标题的时候,可以展开下面人员的基本信息. 采用了折叠面板. 先上图如下: 开始时出现的问题是: ...
- linux 执行计划任务crontab
crontab 一些常用的命令 service crond start //启动服务 service crond stop //关闭服务 service crond restart //重启服务 se ...
- 《Python学习手册 第五版》 -第17章 作用域
上一章的是函数的基础,因为函数在运用过程中,是可以嵌套的,函数中是会涉及到变量的,为了明确各自变量的使用范围,系统是有一套规则或者原则的,这就是作用域的概念 本章重点内容 1.作用域:作用域的概念 2 ...
- IOptions、IOptionsMonitor以及IOptionsSnapshot
背景 ASP.NET Core引入了Options模式,使用类来表示相关的设置组.简单的来说,就是用强类型的类来表达配置项,这带来了很多好处.初学者会发现这个框架有3个主要的面向消费者的接口:IOpt ...