有大量 key=>value 形式的值对,如:xxxx=>aaaaaaa,值一旦建立就不会更改,数量的话后期会达到百万级别,且经常会访问到,并发不高,但要保证数据完整。用什么方案去存比较好?

回答

其实把问题再问得完整一点自然就有答案了

被访问的方式,除了“经常会访问到,并发不高”之外,访问的形式是单key查询还是查多条?数据是否有序?是否有类似“搜索key前缀为foo”的需求?有“列出10个key”的需求?有“列出全部key”的需求?访问是随机key的还是集中在部分热点key值?冷热key值的比例大概怎样?目前并发不高,是否需要考虑后期并发增加以后的方案?

数据完整,是否需要备份?key增加的频率如何?新增加的key是否立刻需要能访问?

key和value的长度分别是多少?百万条1K是一条内存条,可百万条1M就是一块磁盘了

一般而言,条件不是特别极端的话,选单redis&备份,单mysql&备份,或是mysql+redis都行,各有长短,看你想要什么和你手里有什么资源来找平衡点了

PS:别忘了mysql还分ssd上的mysql和机械磁盘上的mysql,也是各有优劣的

redis 比较方便 一般放内存里 也可以放硬盘

并发不高,数据库,百万级别单表够了;并发高的话,前面加一层memcached

从你的需求上面主要针对两个点:值一旦建立就不会更改,以及保证数据完整。

数据库是跑不掉的,目前在保证数据完整性方面数据库是首选,同时也是最通用最值得信赖的。而针对数量的话后期会达到百万级别,且经常会访问到,并发不高这三个点可以考虑使用内存数据库提供访问效率,如redis,数据结构使用普通的k-v结构即可。

memcached

根据key哈希到不同的文件中, 根据访问量来决定要不要加一层内存cache

用mysql存储,然后前面加redis做缓存。

只是Key-Value的话,可以不用放数据库.找一些kv型的nosql就可以用.有持久化的话,可以考虑redis,或者SSDB之类的.Nosql上可以很容易做基于key的分片来解决你的数据容量和访问量的问题.

直接用apc吧,这样比较简单!

mysql key value_【mysql】大量的 key = value 值用什么方式存储?相关推荐

  1. mysql 出现错误 Duplicate entry for key PRIMARY 解决办法

    原来是没有主键的,想增加一列为主键. mysql> desc t111; +-------+-------------+------+-----+---------+-------+ | Fie ...

  2. mysql写入监控_zabbix 自定义key 监控mysql增删查改

    vim /etc/zabbix/zabbix_agentd.d/mysql.conf ##zabbix_agentd.d在这个文件夹下的.conf,都会被agent读取,我们这里新建的一个配置文件方便 ...

  3. mysql index sub part_mysql中的key和index 理解

    mysql的key和index多少有点令人迷惑,这实际上考察对数据库体系结构的了解的. 1 key 是数据库的物理结构,它包含两层意义,一是约束(偏重于约束和规范数据库的结构完整性),二是索引(辅助查 ...

  4. mysql foreign key_MYSQL外键(Foreign Key)的使用

    在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束. 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持 ...

  5. Hive集成Mysql作为元数据时,提示错误:Specified key was too long; max key length is 767 bytes...

    在进行Hive集成Mysql作为元数据过程中.做全然部安装配置工作后.进入到hive模式,运行show databases.运行正常,接着运行show tables:时却报错. 关键错误信息例如以下: ...

  6. mysql导入报错1071_导入sql文件报错:1071 Specified key was too long; max key length is 767 bytes...

    一.背景 今天把服务器的数据库导出了一份sql文件,准备导入到本地,但是在导入的时候,报了个错: Syntax error or access violation: 1071 Specified ke ...

  7. MySQL外键约束(FOREIGN KEY)是什么?

    向导 外键约束 外键创建规则 创建外键约束语法 外键约束创建 修改创建外键约束 删除外键 完整格式创建 外键约束 MySQL的外键约束用来在两个表数据之间建立链接,其中一张表的一个字段被另一张表中对应 ...

  8. Mysql使用Key/Value方式存储动态扩展字段、对象与HashMap的相互转化

    1.背景 在项目刚刚进入开发阶段设计表时,后期表的字段很可能会增加,可以设计出预留字段来应对.但是假如你的数据数据非常庞大且,那么执行修改表语句时会长时间锁表.而且假如一张表支持许多个客户,每个客户的 ...

  9. MySQL主键约束(PRIMARY KEY ,PK)

    MySQL主键约束(PRIMARY KEY ,PK) 在数据库中使用过程中 如果 想将某个字段作为唯一标识,标记所有内容时,则可以使用PK 约束进行设置.即PK约束在创建数据库表时为某些字段加上&qu ...

最新文章

  1. python20191031_20191031:Python取反运算详解
  2. MySql数据库使用入门
  3. 论文公式编号右对齐_word技能之添加样式以及公式自动编号
  4. 太阳能计算机作文500字,自制太阳能热水器
  5. 安装服务器选择什么系统盘,云服务器ecs选择什么系统盘
  6. pythonpandas分析数据_python 数据分析--pandas
  7. Android零基础入门第87节:Fragment添加、删除、替换
  8. Java基础篇:如何使用 break 退出循环
  9. 《商务与经济统计》要点回顾笔记
  10. 最受欢迎的9个前端UI框架
  11. 文章最重要的并不是原创,而是伪原创
  12. CR blocks 创建
  13. 小说app开发功能及盈利方式
  14. 【论文研读】-用于约束多目标优化的新型双阶段双种群进化算法补充材料
  15. Java实现阿里云域名动态解析,DDNS功能
  16. 下城投 × 奇点云 |「数智城投驾驶舱」,打造转型示范新样板
  17. AB01固定资产过账
  18. 超详细的html+css基础知识树状图~HTML标签
  19. 基于Hexo搭建Next主题博客
  20. OLTP vs OLAP 区别和联系

热门文章

  1. ASP经典分页类(改良后的分页类主要是显示属性)
  2. linux设备模型之mmc子系统
  3. No module named ‘win32gui‘ 的解决方法(踩坑之旅)
  4. Android启动的init进程
  5. Android4.1.1_r1系统移植------TP移植篇
  6. MATLAB语言初步学习(四)
  7. Vue之脚手架第一个项目
  8. 新手如何使用Docker来搭建PHP开发环境?
  9. 如何使用SSH密钥登录你的云服务器?使用SSH密钥的好处
  10. python 程序块 挂掉的服务_写一个python的服务监控程序