redis占用内存大小-redis占用储存(6-16-69)

更新时间:2024-09-14 分类:Redis 浏览量:2

Redis本文目录一览:

  • 1、为什么Redis数据库内存不宜过大
  • 2、Redis内存配置和淘汰策略
  • 3、Redis随笔-rename效率问题

为什么Redis数据库内存不宜过大

如果此时主库内存体积过大那么从库重做速度就会很慢,而发送到从库的读请求就会受到严重影响,同时由于传输的rdb文件的体积过大,主库的网卡在相当长的一段时间内都会受到严重影响。

单台Redis的存放数据必须比物理内存小 Redis的数据全部放在内存带来了高速的性能,但是也带来一些不合理之处。比如一个中型网站有100万注册用户,如果这些资料要用Redis来存储,内存的容量必须能够容纳这100万用户。

在数据库方面,mysql是关系型数据库主要用于存放持久化数据,redis是NOSQL,即非关系型数据库,也是缓存数据库,缓存的读取速度快,能够大大的提高运行效率,但是保存时间有限。

Redis内存配置和淘汰策略

1、redis根据maxmemory-samples随机抽取一部分数据,将最旧的数据淘汰,指到内存降下来。

2、内存淘汰管理机制Memory Management 当内存占满之后,redis提供缓存淘汰机制。

3、springboot整合Redis参考, SpringBoot整合Redis - (jianshu.com) 在整合Redis的基础上,在新加监听配置 监听配置类 监听类 将Redis用作缓存时,如果内存空间用满,就会自动驱逐老的数据。

4、LRU (less recently used)是Redis唯一支持的回收算法,当缓存占用的内存空间达到设置的最大空间时,会自动驱逐老的数据。

5、当Redis内存超出物理内存限制时,内存数据会开始和磁盘产生频繁的交换,使得性能急剧下降。

Redis随笔-rename效率问题

rename 是redis中给key重命名命令, rename key newkey 的意思就是将key重命名为newkey。

命令:RENAME key newkey 键重命名。如果键不存在会报错。重命名会执行键的删除操作,因此在键存储的value比较大时,要谨慎使用。

这是因为 Redis 的作者是想通过不同编码实现效率和空间的平衡,然而数据量越大使用的内部编码就越复杂,而越是复杂的内部编码存储的性能就越低。

所以读写数据的效率极高,远远超过数据库。以设置和获取一个256字节字符串为例,它的读取速度可高达110000次/s,写速度高达81000次/s。储存在Redis中的数据是持久化的,断电或重启后,数据也不会丢失。

如果在使用Redis时,取出一个Map后发现Map中的数据没有了,可能是以下原因导致: Redis中的Map被误删除:在某些情况下,可能会出现误删除Map的情况,例如在操作时误执行了DEL命令或者使用了错误的键名。