• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > 大量的key=>value值用什么方式存储?

大量的key=>value值用什么方式存储?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-07

佚名通过本文主要向大家介绍了key value,key value数据库,key value键值对,js key value,java key value等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:大量的 key => value 值用什么方式存储?
描述:

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


解决方案1:

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

解决方案2:

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

解决方案3:

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

解决方案4:

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

解决方案5:

memcached

解决方案6:

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

解决方案7:

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

解决方案8:

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

解决方案9:

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

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

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

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

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

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


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • pythonredissetex可以设value为list或者其他数据结构吗?
  • (python)怎样让字典的value分别提出另外形成一个字典
  • 七牛使用JavaScript上传文件,没有设置Key,为什么没有重命名为hash?
  • redis里怎么知道key的value大小?或者按照value的大小排序?
  • 大量的key=>value值用什么方式存储?

相关文章

  • 2017-06-07 python写连接数据库语句的时候,fetchAll,fetchMany这些取查询记录的时候,取出来的记录有顺序么?
  • 2017-06-07 七牛云存储,已经通过邮箱验证,登陆后仍然显示“未激活用户”
  • 2017-06-07 scrapy采集小说如何按章节顺序入库呢?
  • 2017-06-07 iOS端上传报exc_bad_access?
  • 2017-06-07 持久化处理时报错"executefopcmdfailed:Theoriginalimageabnormal"
  • 2017-06-07 请问有使用过rest_framwork的嘛?
  • 2017-06-07 python爬虫(python)编码问题求助
  • 2017-06-07 (python)怎样在程序中操作screen
  • 2017-06-07 python如何启动两个应用程序?
  • 2017-06-07 (python)django中render和redirect有什么区别?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • (python)使用Scrapy新建项目时报错
    • 微信jssdk上传图片后,通过media_id获取图片文件,不能远程保存到七牛
    • (flask)在python虚拟环境下使用命令pipinstall-rrequest安装软件失败?
    • 网站换LOGO,上传FTP后,前台没有反映
    • 图片UGC应用如何使用七牛云
    • qrsboxwatchfailed
    • MySQLdb:mysqlhasgoneaway?
    • 403Notaccept,Filetoolarge求解决办法
    • flask小程序写Dockerfile的小问题
    • python正则表达式的匹配。

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有