美文网首页PHP经验分享
数据存储遇到坑的总结

数据存储遇到坑的总结

作者: 墨染江南_H | 来源:发表于2018-07-18 17:33 被阅读10次

mysql

innodb的表要定期进行data_free的清理 优化表空间碎片

关闭query_cache 相关sql的数据缓存通过redis或者mc进行存储  减少mysql的压力

杜绝使用外键,一致性放到逻辑层

最好不使用触发器,存储过程

单表的索引最好在5个及以下

适当使用mysql的缓冲区  如写入数据 优化写入时间

杜绝出现null值

select 不使用 *

count 统计 * 是表的行数  统计制定字段是非空的行数  myisam  count(*)速度快是因为有单独存储行数

innodb_flush_log_at_trx_commit  和 sync_binlog  优化磁盘写入

推荐做法是innodb_flush_log_at_trx_commit=2,sync_binlog=500 或1000

redis

redis是单线程的  杜绝大value,大数据用mongo;想利用多核要起多个实例,做好主从,做好哨兵

redis的过期策略是定时清理和惰性过期

定时清理:

    有一个dict存放带过期时间的key 定期随机清理部分过期的key

惰性过期:

    get时如果key没有被清理,判断是否过期,过期清理返回空

redis 的内存不能超过主机内存的40%  save单起线程要使用同样大小的内存 不save的可以放大

一定要设置最大内存,否则物理内存用爆了就会大量使用Swap

redis只做缓存或者计数使用 不能作为DB使用

redis的主从备份第一次是全量复制,后期是增量复制,当从服务器断开的时间过长,偏移量不在主机缓存队列里时是全部复制.

避免一次性删除大量的key 防止堵塞

做redis cluser 后事物有问题  在一个分片上的可以控制 ,否者不可以;数据库只能用0库

memcached

没有持久化,需借助第三方插件

防止单点雪崩

memcache是多进程模型,可以高并发处理数据,本身使用CAS  放心使用

memcached的过期策略LRU是针对slab的,不是全部的数据

memcache适合小数据, mc key限制。 长度限制250;不能有空格,中文。 value最大的存储对象为1M

memcache 是预申请,内存会有些许浪费,但是不会出现内存碎片

设置好内存增长比例

mc超时时间设置。过大,会表现为set进去成功, 但get不出来。

原因:

原来,mc范围类型的时间,最大是设置为30天了(设置的时候要改为秒,也就是60*60*24*30秒)。超过这个值,就当做是unix 时间戳类型的时间。

相关文章

  • 数据存储遇到坑的总结

    mysql innodb的表要定期进行data_free的清理 优化表空间碎片 关闭query_cache 相关s...

  • BigData~09:Sqoop

    使用 Sqoop 把数据从 Hive 导出到 MySQL,中间遇到了一些坑,现总结如下: 一、报错总结 在 CDH...

  • Python实战计划学习笔记:爬取手机号

    这次运用数据来存储,并从中提取数据 成果展示 代码 总结 遇到需要采集大量的数据,最好的方式就是将功能分离开来。一...

  • Java堆(heap)、栈(stack)和队列的区别

    总结下在Java里面Heap和Stack分别存储数据的不同。 heap(堆): JVM的功能:内存数据区存储数据:...

  • 零基础带你搞定分布式爬虫(第二节)

    数据存储 json ------命名不要json.py,坑----- JSON支持数据格式: 对象(字典)。使用花...

  • APP文件存储及目录结构

    在开发中,经常会遇到一些数据存储的操作,比如记录某些状态,暂存常用数据,或者文件下载等等,现在趁时间空闲,总结下开...

  • iOS本地数据存储方案

    移动开发,数据存储是一定而且经常遇到的,存储的数据有大有小,大数据和小数据的存储方式也不一样,存储数据也要考虑性能...

  • Windows下MongoDB 3.6快速安装教程

    最近在学爬虫,想试试用MongoDB做数据存储,但是安装配置过程中遇到一些坑,在此记录。 0. 下载 & 安装 下...

  • 微信小程序开发

    数据存储 1. 微信小程序关于数据存储的一些坑 https://www.jianshu.com/p/f8e1b80...

  • SharedPreferences

    概述 源码分析 总结 一、概述 Android系统里面大致有三种数据存储方案: 文件存储。 数据库存储。 Shar...

网友评论

    本文标题:数据存储遇到坑的总结

    本文链接:https://www.haomeiwen.com/subject/wbhapftx.html