Redis教程

redis基础篇~内存篇

本文主要是介绍redis基础篇~内存篇,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 内存的计算公式     used_memory_rss Redis进程占用的物理内存总量 这是直观在redis显示的,也是最关注的     used_memory Redis分配器分配的内存总量,也是我们设置的maxmemor大小     used_memory_peak_human  最大使用内存总量(峰值)     mem_fragmentation_ratio used_memory_rss/used_memory比值,内存碎片率     mem_allocator Redis所使用的内存分配器,默认jemalloc 2 调整redis内存大小     config get max_memory     conifg set maxmemory 4gb 内存     config get max_memory      config rewrite 3 内存碎片的影响    mem_fragmentation_ratio的不同值,说明不同的情况。     大于1:说明内存有碎片,一般在1到1.5之间是正常的。     大于1.5:说明内存碎片率比较大,需要考虑是否要进行内存碎片清理,要引起重视。     小于1:说明已经开始使用交换内存,也就是使用硬盘了,正常的内存不够用了,需要考虑是否要进行内存的扩容。 4 一些思想     rss的占用是可以被redis回收掉的,峰值肯定要参考peak_hum 5 分析大key的占用   1 安装rdb_tool工具   2 进行分析    redis-profiler rdb -f rdb.html 查看类型分布    rdb -c memory rdb -f dmp.csv 根据内存进行排序导出的csv  csv文件大小小于rdb大小   CREATE TABLE `rdb` ( -> `database` int(11) DEFAULT NULL, -> `type` varchar(128) DEFAULT NULL, -> `key` varchar(128) DEFAULT NULL, -> `size_in_bytes` int(11) DEFAULT NULL, -> `encoding` varchar(128) DEFAULT NULL, -> `num_elements` int(11) DEFAULT NULL, -> `len_largest_element` varchar(128) DEFAULT NULL -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;   load data infile 'a.csv'   into table rdb character set gb2312   fields terminated by ',' optionally enclosed by '"' escaped by '"'    lines terminated by '\r\n'; 6 4.0X版本之后的优化    1 已经可以开始自动整理内存碎片了,设置相关参数 7 内存可能问题    1 存在大量的key,有可能存在大key    2 可能存在空间碎片    3 没有设置过期策略  

这篇关于redis基础篇~内存篇的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!