nosql

redis入门

时光总嘲笑我的痴心妄想 提交于 2020-11-24 15:01:40
介绍 Redis是目前非常流行的一款NoSql数据库 对比 Redis和Memcahe是目前非常流行的两种NoSql数据库,读可以用于服务端缓存。两者有怎么样的差异呢? 从现实来看 redis:单线程 memcache:多线程 从存储方式来看: redis:支持数据持久化和主从备份,数据更安全 memcache:数据存于内存,没有持久化功能 从功能来看: redis:除了基本的key结构外,支持多种其他复杂结构、事务等高级功能 memcache:只支持基本k-v结构 从可用性看: redis:支持主从备份、数据分片、哨兵监控 memcache:没有分片功能,需要从客户端支持 可以看出,Redis相比Memcache功能更强大,支持的数据结构也比较丰富,已经不仅仅是一个缓存服务。而Memcache的功能相对单一。 一些面试问题:持久化、分片(集群)、主从、哨兵、避免缓存击穿、避免缓存雪崩、避免缓存热点key过期 指令 通过help命名可以让我们查看到Redis的指令帮助消息: 在help后面跟上空格,然后按tab键,会看到Redis对命令分组的组名: 主要包含: @generic:通用指令 @string:字符串类型指令 @list:队列结构指令 @set:set结构指令 @sorted_set:可排序的set 结构指令 @hash:hash结构指令 指令学习地址: http:/

超牛逼的 Feed 流系统设计!

北城余情 提交于 2020-11-24 06:15:34
来源 | https://yq.aliyun.com/articles/706808 简介 差不多十年前,随着功能机的淘汰和智能机的普及,互联网开始进入移动互联网时代,最具代表性的产品就是微博、微信,以及后来的今日头条、快手等。这些移动互联网时代的新产品在过去几年间借着智能手机的风高速成长。 这些产品都是Feed流类型产品,由于Feed流一般是按照时间“从上往下流动”,非常适合在移动设备端浏览,最终这一类应用就脱颖而出,迅速抢占了上一代产品的市场空间。 Feed流是Feed + 流,Feed的本意是饲料,Feed流的本意就是有人一直在往一个地方投递新鲜的饲料,如果需要饲料,只需要盯着投递点就可以了,这样就能源源不断获取到新鲜的饲料。在信息学里面,Feed其实是一个信息单元,比如一条朋友圈状态、一条微博、一条咨询或一条短视频等,所以Feed流就是不停更新的信息单元,只要关注某些发布者就能获取到源源不断的新鲜信息,我们的用户也就可以在移动设备上逐条去浏览这些信息单元。 当前最流行的Feed流产品有微博、微信朋友圈、头条的资讯推荐、快手抖音的视频推荐等,还有一些变种,比如私信、通知等,这些系统都是Feed流系统,接下来我们会介绍如何设计一个Feed流系统架构。 Feed流系统特点 Feed流本质上是一个数据流,是将 “N个发布者的信息单元” 通过 “关注关系” 传送给 “M个接收者”。

超牛逼的 Feed 流系统设计!

拥有回忆 提交于 2020-11-24 05:58:14
点击上方 IT牧场 ,选择 置顶或者星标 技术干货每日送达 来源 | https://yq.aliyun.com/articles/706808 简介 差不多十年前,随着功能机的淘汰和智能机的普及,互联网开始进入移动互联网时代,最具代表性的产品就是微博、微信,以及后来的今日头条、快手等。这些移动互联网时代的新产品在过去几年间借着智能手机的风高速成长。 这些产品都是Feed流类型产品,由于Feed流一般是按照时间“从上往下流动”,非常适合在移动设备端浏览,最终这一类应用就脱颖而出,迅速抢占了上一代产品的市场空间。 Feed流是Feed + 流,Feed的本意是饲料,Feed流的本意就是有人一直在往一个地方投递新鲜的饲料,如果需要饲料,只需要盯着投递点就可以了,这样就能源源不断获取到新鲜的饲料。在信息学里面,Feed其实是一个信息单元,比如一条朋友圈状态、一条微博、一条咨询或一条短视频等,所以Feed流就是不停更新的信息单元,只要关注某些发布者就能获取到源源不断的新鲜信息,我们的用户也就可以在移动设备上逐条去浏览这些信息单元。 当前最流行的Feed流产品有微博、微信朋友圈、头条的资讯推荐、快手抖音的视频推荐等,还有一些变种,比如私信、通知等,这些系统都是Feed流系统,接下来我们会介绍如何设计一个Feed流系统架构。 Feed流系统特点 Feed流本质上是一个数据流,是将

MongoDB单机, 主从, 分布式部署

拜拜、爱过 提交于 2020-11-24 04:47:38
MongoDB是最易用的NoSQL,比较适合取代MySQL做一些存储,不过不是强一致性的。本文介绍一下MongoDB各种部署方式,并分享一些感受。前两部分“单机部署”和“主从部署”是“分片部署”的基础。 MongoDB单机部署 启动下载来的MongoDB包的bin目录下的mongod.exe即可打开MongoDB服务,可以添加的基本配置是: ./mongod.exe --dbpath ~/db/data --port 127.0.0.1:10000 --logpath ~/db/log 默认的端口是27017。启动的时候必须有一个data目录,让mongod读写数据。写入数据后,data目录里的文件如图: .lock文件如果在下次启动时候还存在,需要删除才能成功启动。"article"和"config"是数据库名字,可以特别注意一下每个文件块的大小(16M, 32M, 64M, 128M)。 MongoDB主从部署 主从配置是MongoDB特色之一,使之具备了容错,故障恢复等性能。主节点要声明"master",从节点们要声明"slave"和"--source"。最简单的主从配置如下: ./mongod.exe --dbpath ~/db/master --port 10000 --master ./mongod.exe --dbpath ~/db/slave --port

支付宝架构师眼中的高并发架构

我是研究僧i 提交于 2020-11-24 02:57:47
作者:sflaqiu blog.thankbabe.com 前言 高并发经常会发生在有大活跃用户量,用户高聚集的业务场景中,如:秒杀活动,定时领取红包等。 为了让业务可以流畅的运行并且给用户一个好的交互体验,我们需要根据业务场景预估达到的并发量等因素,来设计适合自己业务场景的高并发处理方案。 在电商相关产品开发的这些年,我有幸的遇到了并发下的各种坑,这一路摸爬滚打过来有着不少的血泪史,这里进行的总结,作为自己的归档记录,同时分享给大家。 服务器架构 业务从发展的初期到逐渐成熟,服务器架构也是从相对单一到集群,再到分布式服务。 一个可以支持高并发的服务少不了好的服务器架构,需要有均衡负载,数据库需要主从集群,nosql缓存需要主从集群,静态文件需要上传cdn,这些都是能让业务程序流畅运行的强大后盾。 服务器这块多是需要运维人员来配合搭建,具体我就不多说了,点到为止。 大致需要用到的服务器架构如下: 服务器 均衡负载(如:nginx,阿里云SLB) 资源监控 分布式 数据库 主从分离,集群 DBA 表优化,索引优化,等 分布式 nosql 主从分离,集群 主从分离,集群 主从分离,集群 redis mongodb memcache cdn html css js image 并发测试 高并发相关的业务,需要进行并发的测试,通过大量的数据分析评估出整个架构可以支撑的并发量。

海量数据存储方案

好久不见. 提交于 2020-11-23 21:43:11
参考原文: http://blog.csdn.net/xlgen157387/article/details/53230138 一、网站应用背景 开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器+一台数据库服务器+一台文件服务器,这样的话完全可以解决一部分问题,也可以通过堆硬件的方式来提高网站应用的访问性能,当然,也要考虑成本的问题。 当问题的规模在经济条件下通过堆硬件的方式解决不了的时候,我们应该通过其他的思路去解决问题,互联网发展至今,已经提供了很多成熟的解决方案,但并不是都具有适用性,你把淘宝的技术全部都搬过来也不一定达到现在淘宝的水平,道理很简单。 当然,很多文章都在强调,一个网站的发展水平,是逐渐的演变过来的,并不是一朝一夕的事情。虽然目前的情况互联网的泡沫越来越大,但是整个互联网技术的发展确实为我们提供了方便快捷的上网体验。下边是一张早期的淘宝官网的界面: 目前,博主正在跟随导师做一个创业项目,使用的技术是SSM+MySQL+Linux这些,但是由于资金的限制和考虑到用户群体的特殊性,系统的架构无奈的选择的就是最简单的方式:一台应用服务器、一台数据库服务器、一台文件系统服务器,没有用到高级的技术,也没有用到分布式部署的方案。下边整理的是一些针对海量数据和高并发情况下的解决方案,技术水平有限,欢迎留言指导。 二、针对海量数据和高并发的主要解决方案

面试

随声附和 提交于 2020-11-23 20:32:31
进阿里就像是程序员们的一道“必修课”,里面的人拼了命的想出来,外面的人拼了命的想进去!阿里就像一个大熔炉,重铸、再造、升级、更新,每年给社会输送了大量的IT的精英!如果你也有一个“阿里梦的”话,不妨接着往下看! 最新出炉的阿里面试参考指南V3.0版,更新到了分布式、中间件、大数据与高并发、数据库、设计模式与实践、数据结构与算法、面试题举例!下面一部分一部分来分享!由于文章篇幅有限, 需要这份资料的,点击这里即可查看获取方式 面试之高并发 说一个让程序员又爱又恨的问题,刚刚过去的双十一,今年虽然没有之前那么疯狂,但是依旧疯狂,也创建了一个新的成交记录,你在购物的同时,肯定跟一个 环节离不开 ,那就是12点的那个 秒杀抢购环节,但是你知道在秒杀的背后隐藏的是什么吗? 以淘宝为例,除了 阿里云 兄弟背后的 资源支撑 之外,还有就是工程师 靠消耗头发得来的结果 因为秒杀系统说白了就是一个应对 高并发的系统架构 (在这方面,阿里是真的666,没办法!),但是 秒杀是对这个问题最真实显著的体现 ,但是在日常生活中,像疫情期间的钉钉等等,都是高并发的实际场景,那我们就以 秒杀系统设计 为例,来看一下, 高并发场景该如何处理? 一、秒杀架构设计 二、数据库架构发展历程 三、MySQL的扩展性瓶颈 四、为什么要使用NOSQL NOT ONLY SQL 五、传统RDBMS VS NOSQL 六

阿里内部“新鲜出炉”手慢无!首发面试终极指南V3.0,符合一线大厂面试知识点+面试题

别来无恙 提交于 2020-11-21 15:02:33
进阿里就像是程序员们的一道“必修课”,里面的人拼了命的想出来,外面的人拼了命的想进去!阿里就像一个大熔炉,重铸、再造、升级、更新,每年给社会输送了大量的IT的精英!如果你也有一个“阿里梦的”话,不妨接着往下看! 最新出炉的阿里面试参考指南V3.0版,更新到了分布式、中间件、大数据与高并发、数据库、设计模式与实践、数据结构与算法、面试题举例!下面一部分一部分来分享! 由于文章篇幅有限,需要领取完整版收藏慢慢看的时候,免费获取方式在文末! 面试之高并发 说一个让程序员又爱又恨的问题,刚刚过去的双十一,今年虽然没有之前那么疯狂,但是依旧疯狂,也创建了一个新的成交记录,你在购物的同时,肯定跟一个 环节离不开 ,那就是12点的那个 秒杀抢购环节,但是你知道在秒杀的背后隐藏的是什么吗? 以淘宝为例,除了 阿里云 兄弟背后的 资源支撑 之外,还有就是工程师 靠消耗头发得来的结果 因为秒杀系统说白了就是一个应对 高并发的系统架构 (在这方面,阿里是真的666,没办法!),但是 秒杀是对这个问题最真实显著的体现 ,但是在日常生活中,像疫情期间的钉钉等等,都是高并发的实际场景,那我们就以 秒杀系统设计 为例,来看一下, 高并发场景该如何处理? 一、秒杀架构设计 二、数据库架构发展历程 三、MySQL的扩展性瓶颈 四、为什么要使用NOSQL NOT ONLY SQL 五、传统RDBMS VS NOSQL

程序员如何乘风破浪?从数据库历史看技术人发展 | CSDN 高校俱乐部

China☆狼群 提交于 2020-11-19 21:25:26
2009 年我国数据库软件市场规模为 35.03 亿元,2017 年我国数据库软件市场规模增长至 120.00 亿元。8年时间内,我国数据库软件市场始终保持平稳增长,年均复合增长率为 17.5%,且增速呈现递增趋势。 根据中研产业研究院估计,到 2020 年,我国数据库软件市场规模预计达到 200 亿元,但市场份额的大部分被 Oracle 等国际厂商占据。而随着我国 IT 技术栈的不断演进,去“IOE”已经由一个企业的目标,变成了整个行业的目标。 另一方面,在市场增长与技术升级的双重机遇推动下,众多国产数据库在市场上涌现,包括阿里巴巴的 OceanBase、华为的 GaussDB 等,同时也有更多新兴数据库企业,找准了在更加细分的赛道优势打开局面,有的甚至登上了技术标准的高地。 作为国产数据库里的知名选手,SequoiaDB 巨杉数据库,是一款金融级分布式关系型数据库,也是一款开源产品(Github地址:https://github.com/SequoiaDB/SequoiaDB),SequoiaDB 最大的贡献在于将标准 SQL、事务与NoSQL的分布式存储相结合。 为了帮助更多技术人了解数据库,做好自己的职业规划,本周四(11月19日)CSDN 高校俱乐部特邀请了巨杉数据库-资深总监萧少聪来进行线上主题分享《从数据库历史看技术人的发展》,为听众分享技术迭代的规律

redis 3.0尝鲜

安稳与你 提交于 2020-11-19 03:54:37
1.安装redis wget http://download.redis.io/releases/redis-3.0.5.tar.gz tar zxf redis-3.0.5.tar.gz -C /export/server/ cd /export/servers/redis-3.0.5 make && make install mkdir conf;cp redis.conf conf/ 2.redis集群模式配置 2.1redis主配置文件: vim /export/servers/redis-3.0.5/conf/redis.conf daemonize yes pidfile /var/run/redis.pid tcp-backlog 511 timeout 0 tcp-keepalive 0 loglevel notice logfile "" databases 16 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir /export/data/redis slave-serve-stale-data yes slave-read-only yes repl