当前位置:首页 > 内存 > 正文

redis内存占用估算网站

  • 内存
  • 2024-08-13 20:11:30
  • 2129

一、记一次Redis的内存碎片比过高的解决Redis的一个非常重要的性能指标——mem_fragmentation_ratio(内存碎片率)
mem_fragmentation_ratio是通过下面的公式计算出来的
可以直接用下面的命令查看
可以看到内存碎片率达到了4.76。内存碎片率略高于1是正常的,但是当超过1.5的时候就说明redis的内存管理变差了
分析一下实际环境,因为这个redis主要是存储频繁更新的数据。每次数据更新前,redis都会删除旧数据。事实上,由于Redis释放了内存块,内存分配器并没有将内存返回给操作系统。这个内存分配器是在编译时指定的,它可以是libc、jemalloc或tcmalloc。used_memory_rss会越来越大,导致mem_fragmentation_ratio越来越高


二、redis中的数据占用内存大小分析

如今,越来越多的系统使用Redis作为缓存系统。但随着用户数量的增加和业务数据的不断增加,Redis服务器的内存空间可能会达到瓶颈。及时。内存占用量可以让我们更容易评估何时升级Redis服务器规格,这对于判断是否需要程序优化来设计合理的存储结构有很大帮助。、rdr和redis-rdb-tools,很好的满足了我们的需求

详细使用请参考官方仓库:


三、redis查询和mysql查询那个占用cup高Redis只是一个缓存,通常存储在内存中。
MySQL大部分时间都在执行磁盘I/O操作,这意味着性能瓶颈主要在磁盘上。因为写操作一般都是对mysql进行的,也就是CPU会一直等待mysql的写操作,所以读取内存的速度基本上是磁盘的几百倍,甚至上万倍。
另一方面,redis比较简单,数据结构清晰,而mysql作为关系型数据库,可能包含很多复杂的数据结构,比如事务、锁等操作,会消耗大量的CPU。表现。
所以mysql肯定比redis消耗更多的CPU和时间。这是基于读取和写入大小几乎相同的情况。如果主要使用redis读取数据,而mysql只是一个实用工具,mysql不会消耗太多性能。