redis和memcached在应用中的架构:水平拆分和垂直拆分
来源:互联网 发布:cydia怎么删除软件 编辑:程序博客网 时间:2024/06/07 01:52
redis和memcached,这两个都是当今非常火的内存数据库,要论流行程度,目前redis用的最多,性能上来讲,如果你把redis的aof和rdb功能全部禁用,只是把redis当做一个缓存来用的话,redis和mencached性能上差不了多少,我相信用redis的不大可能只是用它的缓存功能吧?
这篇文章主要的目的是讲讲redis和memcached的垂直拆分和水平拆分,这里我以redis进行举例,写起来方便点。
一:垂直拆分
redis的垂直拆分实际上和mysql的垂直拆分思路差不多,我们mysql上面的垂直拆分就是分库,那么按什么分库呢?当然是按照业务分库了,订单库,商品库,用户库等等,类比到redis实际上也是一样的
原先我们可能业务量不大,或者说数据量不大,一台redis服务器就够用了,所以我们把商品,店铺,库存,促销规则等等数据都放入了,现在用户量上来了,一台机器不够存了,那么我们可以按照业务来划分,把商品,店铺,库存单独放到一台redis服务器上来存储。
二水平拆分
水平拆分是我们使用了垂直拆分后,某些库的数据量还是增长过快的情况下才产生的,我们也称作为数据分片,如图我们把商品数据拆分成了三片,分片的路由规则我们通常是用哈希求余和哈希环算法来解决(redis用的是哈希槽)。当然不到万不得已不要使用水平拆分,redis和memcached都不支持这种做法,我们只能引入中间件,当然现在redis3.0现在可以进行服务端集群,但是它的功能不稳定,而且如果你要扩容的话需要手动对哈希槽进行再分配,很不方便,而且jedis客户端也有bug,连上集群会卡死。
0 0
- redis和memcached在应用中的架构:水平拆分和垂直拆分
- 垂直拆分和水平拆分
- 数据库水平拆分和垂直拆分区别(
- 数据库水平拆分和垂直拆分区别
- Mysql 水平拆分和垂直拆分
- 数据库水平拆分和垂直拆分区别(
- 表的垂直拆分和水平拆分
- 表的垂直拆分和水平拆分
- mysql的水平拆分和垂直拆分
- Mysql 水平拆分和垂直拆分
- 表的垂直拆分和水平拆分
- 数据库的水平拆分和垂直拆分
- 表的垂直拆分和水平拆分
- SQL垂直拆分和水平拆分
- mysql的水平拆分和垂直拆分
- 数据库表的垂直拆分和水平拆分
- mysql表的垂直拆分和水平拆分
- MySQL数据库表如何水平拆分和垂直拆分
- python reverse()方法
- POJ 3026 Borg Maze【BFS+最小生成树MST】
- iOS 简单的改变导航栏的背景 几行代码解决
- Oracle 如何修改列的数据类型
- 《我所理解的Cocos2d-x》PDF
- redis和memcached在应用中的架构:水平拆分和垂直拆分
- dubbo-admin配置及使用
- studio使用
- C#时间格式化
- (4.1.40.1)Android得到控件在屏幕中的坐标
- iBatis开发环境搭建和示例
- 程序不过是想法与api,编程不过是重复的工作
- 大搬家 bestcoder
- Python pip distribute