栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

MySQL数据库有200w数据redis有20w数据,如何保证都是热点数据?

MySQL数据库有200w数据redis有20w数据,如何保证都是热点数据?

MySQL数据库有200w数据redis有20w数据,如何保证都是热点数据?

  • 首先计算出20w数据所需的内存空间,设置最大内存,然后选择合适的内存淘汰策略。同样是在redis.conf配置文件中,可以对最大内存进行设置,单位为bytes:当使用的内存到达指定的限制时,Redis会根据内存淘汰策略删除键,以释放空间。
  • 内存淘汰策略
    • 在Redis的redis.conf配置文件中,列出了8种策略:
      • volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰。
      • volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数据淘汰。
      • volatile-random:从已设置过期时间的数据集中任意选择数据淘汰。
      • allkeys-lru:从数据集中挑选最近最少使用的数据淘汰
      • allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰
      • no-enviction(驱逐):禁止驱逐数据,这也是默认策略。意思是当内存不足以容纳新入数据时,新写入操作就会报错,请求可以继续进行,线上任务也不能持续进行,采用no-enviction策略可以保证数据不被丢失。
  • 实例操作
    • config get maxmemory 查看当前最大内存
    • config set maxmemory 200MB 设置最大内存为200MB
    • config get maxmemory-policy 查看淘汰策略
    • config set maxmemory-policy volatile-ttl 设置淘汰策略为:volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数据淘汰。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/300699.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号