如何用分布式缓存服务实现Redis内存优化
Redis是一种支持Key-Value等多种数据结构的存储系统,其数据特性是“ALL IN MEMORY”,因此优化内存十分重要。在对Redis进行内存优化时,先要掌握Redis内存存储的特性比如字符串,压缩编码,整数集合等,再根据数据规模和所用命令需求去调整,从而达到空间和效率的最佳平衡。
但随着数据大幅增长,开发人员需要面对重新优化内存所带来开发和数据迁移的双重成本也越来越高。Redis所有的数据都在内存中,那么,我们是否可以通过简便高效的方式去实现Redis内存优化呢?
答案当然是可以的。分布式缓存服务DCS是兼容Redis的内存数据库服务,基于双机热备的高可用架构,提供单机、主从、集群等丰富类型的缓存类型,满足用户高读写性能及快速数据访问的业务诉求。如何使用分布式缓存服务DCS实现Redis的内存优化呢?让我们一起来看看。
操作步骤:
1、登录管理控制台。在管理控制台左上角单击图标,选择区域和项目。
2、单击页面上方的“服务列表”,选择“数据库
> 分布式缓存服务”,进入分布式缓服务信息页面。
3、单击左侧菜单栏的“缓存管理”。
4、在“缓存管理”页面,单击缓存实例的名称。
5、单击“配置参数”页签进入配置界面。
6、单击“修改”。
7、根据需要修改相关参数。
各参数的详细介绍见表1,一般情况下,按照系统默认值设置参数即可。
为了确保分布式缓存服务DCS发挥出最优性能,用户可以根据自己的业务情况对Redis实例的运行参数进行调整。以下为Redis实例配置参数说明:
|
参数名 |
参数解释 |
取值范围 |
默认值 |
|
timeout |
客户端与服务端连接空闲超时断开时间,参数设为0表示连接永不断开。 |
0~7200,单位:秒。 |
0 |
|
maxmemory-policy |
内存使用达到上限时对缓存数据管理策略。 |
volatile-lru allkeys-lru volatile-random allkeys-random volatile-ttl noeviction |
noeviction |
|
hash-max-ziplist-entries |
当hash表中记录数少于参数值,使用ziplist编码格式,节约内存。 |
1~10000 |
512 |
|
hash-max-ziplist-value |
当hash表中各字段长度的最大值小于参数值时,使用ziplist编码格式,节约内存。 |
1~10000 |
64 |
|
list-max-ziplist-entries |
当列表中记录数少于参数值,使用ziplist编码格式,节约内存。 |
1~10000 |
512 |
|
list-max-ziplist-value |
当列表中各字段长度的最大值小于参数值时,使用ziplist编码格式,节约内存。 |
1~10000 |
64 |
|
set-max-intset-entries |
当一个集合仅包含字符串且整形元素数量少于参数值时,使用intset编码格式,节约内存。 |
1~10000 |
512 |
|
zset-max-ziplist-entries |
当有序集合中记录数少于参数值,使用ziplist编码格式,节约内存。 |
1~10000 |
128 |
|
zset-max-ziplist-value |
当有序集合中各字段长度的最大值小于参数值时,使用ziplist编码格式,节约内存。 |
1~10000 |
64 |
|
latency-monitor-threshold |
延时监控的采样时间阈值(最小值)。 当阈值设置为0时,不做监控,也不采样;当阈值设置为大于0时,将监控并记录执行耗时大于阈值的操作。 用户可以通过LATENCY等命令获取统计数据和配置、执行采样监控。详情参考Redis官网说明:https://redis.io/topics/latency-monitor。 |
0~86400000,单位:毫秒。 |
0 |
|
reserved-memory |
预留内存,主备实例才有此配置。 预留内存将被分配给实例所在虚拟机,保证DCS实例后台进程在做持久化和主从同步等任务时拥有足够的内存。 预留内存大小可以调高或者调低,但不能超过实例当前剩余的可用内存,以及最大可用内存的50%。其中实例最大可用内存可参考《分布式缓存服务产品介绍》。 |
实例最大可用内存数的0-50%,同时不能超过实例当前剩余的可用内存,具体以界面提示为准,单位:MB。 |
0 |
|
notify-keyspace-events |
键空间通知,配置该参数后客户端可以通过Redis的订阅与发布功能,来接收那些以某种方式改动了Redis数据集的事件。 |
配置为空字符串""时,不支持该功能。 可配置为以下字符的任意组合,指定了服务器该发送哪些类型的通知: K:键空间通知,所有通知以__keyspace@__为前缀。 E:键事件通知,所有通知以__keyevent@__为前缀。 g:DEL、EXPIRE、RENAME等类型无关的通用命令的通知。 $:字符串命令的通知。 l:列表命令的通知。 s:集合命令的通知。 h:哈希命令的通知。 z:有序集合命令的通知。 x:过期事件:每当有过期键被删除时发送。 e:驱逐(evict)事件:每当有键因为maxmemory政策而被删除时发送。 |
"" |
以上就是如何用分布式缓存服务实现Redis内存优化的大致介绍,想要了解更多,欢迎点开分布式缓存服务DCS查看。
如何用分布式缓存服务实现Redis内存优化的更多相关文章
- 第十二节:Asp.Net Core 之分布式缓存(SQLServer和Redis)
一. 整体说明 1. 说明 分布式缓存通常是指在多个应用程序服务器的架构下,作为他们共享的外部服务共享缓存,常用的有SQLServer.Redis.NCache. 特别说明一下:这里的分布式是 ...
- 分布式缓存Memcache和Redis
引言 针对于如今计算机的CPU和网络设施,相应用程序来说,运行效率的瓶颈.已经不是代码的长度(实现同一个功能)和带宽了,而是,代码訪问资源的过程.即:让我们的程序慢下来的罪魁祸首就是IO操作. 程序从 ...
- 华为云分布式缓存服务DCS与开源服务差异对比
华为云分布式缓存DCS提供单机.主备.集群等丰富的实例类型,满足用户高读写性能及快速数据访问的业务诉求.支持丰富的实例管理操作,帮助用户省去运维烦恼.用户可以聚焦于业务逻辑本身,而无需过多考虑部署.监 ...
- fourinone分布式缓存研究和Redis分布式缓存研究
最近在写一个天气数据推送的项目,准备用缓存来存储数据.下面分别介绍一下fourinone分布式缓存和Redis分布式缓存,然后对二者进行对比,以供大家参考. 1 fourinone分布式缓存特性 1 ...
- 组件-------(一)redis系列--安装部署redis+实现redis分布式缓存 java+Spring+redis
目的:解决单机session不能共享问题,插入查询数据库时间效率问题,实现分布式缓存. 准备材料:Redis 下载链接 http://pan.baidu.com/s/1dEGTxvV 相关jar包如果 ...
- 【分布式缓存系列】Redis实现分布式锁的正确姿势
一.前言 在我们日常工作中,除了Spring和Mybatis外,用到最多无外乎分布式缓存框架——Redis.但是很多工作很多年的朋友对Redis还处于一个最基础的使用和认识.所以我就像把自己对分布式缓 ...
- 使用微软分布式缓存服务Velocity(Windows Server AppFabric Caching Service)
概述 Velocity是微软推出的分布式缓存解决方案,为开发可扩展性,可用的,高性能的应用程提供支持,可以缓存各种类型的数据,如CLR对象. XML.二进制数据等,并且支持集群模式的缓存服务器.Vel ...
- Redis内存优化memory-optimization
https://redis.io/topics/memory-optimization 官方文档 一.特殊编码: 自从Redis 2.2之后,很多数据类型都可以通过特殊编码的方式来进行存储空间的优化 ...
- redis内存优化方法
先来认识2个redis配置参数 hash-max-ziplist-entries : hash内部编码压缩列表的最大值,默认512 hash-max-zipmap-value : hash内部编码压缩 ...
随机推荐
- 在Redux中使用插件createAction之后
我们知道在React的Redux的中的action在项目开发过程中,一般时使用createAction来生成 举个栗子,小李子: const createTodo=createACtion('CREA ...
- 读《An Adaptable and Extensible Geometry Kernel》
读<An Adaptable and Extensible Geometry Kernel> 利用Curiously Recurring Template Pattern替代虚函数 详细内 ...
- mysql 存储引擎学习
现在我们常用的MySQL存储引擎主要是两种:InnoDB and MyISAM. 1.MyISAM 执行效率高 不支持事务 不支持外键 每个MyISAM在磁盘上存储成3个文件,其中文件名和表名都相同, ...
- eclipse中添加maven
收藏一下,一篇很好的例子 maven相关插件:链接:http://pan.baidu.com/s/1i3Ks95j 密码:7pgh eclipse:链接:http://pan.baidu.com/s/ ...
- VR虚拟红包的技术实现
2017年1月20日,腾讯发布消息称将推出Q-Glass,除了一般VR眼镜的标配功能外,Q-Glass还能实现眨眼抢红包.听起来是不是很酷炫?上市时间可要在10年后.不过,2016年底支付宝首推AR实 ...
- 重启rsyncd
systemctl restart rsyncd.service
- 关于Extjs的窗口拖拽,改变大小,背景淡化问题
大部分Extjs的Windows问题:在Extjs4代码中,只要加几句话: frame:true, //这个窗口的边边是圆的 border : false , //窗口没有边框 draggable: ...
- 一只小蜜蜂(hdoj 2044,动态规划递推)
Problem Description 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数.其中,蜂房的结构如下所示. Input 输入数据的第一行 ...
- 爬楼梯,N级楼梯有多少种走法?
https://blog.csdn.net/tcpipstack/article/details/45173685 一个人爬楼梯,一步可以迈一级,二级,三级台阶,如果楼梯有N级,要求编写程序,求总共有 ...
- 洛谷 3285 [JLOI2014]松鼠的新家
[题解] 给出一条路径,问树上的点被经过了几次. 显然树剖之后树上差分就好了. #include<cstdio> #include<algorithm> #define N 3 ...