- 博客(12)
- 收藏
- 关注
原创 HashMap实现原理
HashMap在编程开发中经常使用到,用来存储key-value,但是一直没深入学习它的实现原理,这次学习了记录一下。 HashMap类 public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable HashMap...
2018-12-07 13:21:29
209
原创 dubbo+ZooKeeper框架基础配置
先说为什么要用分布式架构:个人理解是从一个繁杂的整体式项目拆分成一个一个互相独立的项目,分别部署到不同的机器,减轻开发的复杂度,提高服务的高可用。 个人搭建的demo基于SSM框架,分成三个Module,API、Provider、Consumer,其中 API打包方式是jar ,提供给Provider和Consumer使用。 安装Dubbo控制台 首先安装dubbo-admin控制台,在gi...
2018-12-07 13:20:39
446
原创 ZooKeeper基础学习
简介: ZooKeeper:为分布式应用提供了高效且可靠的分布式协调服务,提供了诸如统一命名服务、配置管理和分布式锁等分布式的基础服务。 Zookeeper介绍: 是一个开放源代码的分布式协调服务,设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。 ZooKeeper是什么: 是一个典型的分布式数据一致性的解决方案,分布式应...
2018-12-07 13:20:03
251
原创 SSM框架中使用Redis单机版
上一篇文章就说要尝试在代码中实现Redis使用,但是有一段时间很(tou)忙(lan),所以现在才写。 Maven依赖 <!-- Redis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</ar...
2018-12-07 13:19:05
502
原创 Redis集群(二)发送命令和故障转移
发送命令 在上一篇文章中,已经将16384个槽都进行了指派之后,集群已经进入上线状态 127.0.0.1:7000> cluster info // 集群状态:OK表示上线 cluster_state:ok cluster_slots_assigned:16384 cluster_slots_ok:16384 cluster_slots_pfail:0 cluster_slots_fail:...
2018-11-29 08:45:31
505
原创 Redis集群(一)安装配置和简便槽分配
为什么要用Redis集群 Redis集群是Redis提供的分布式数据库方案,集群通过**分片(sharding)**来进行数据提供,并提供复制和故障转移功能。 学习记录以下几点: 节点 槽指派 命令执行 重新分片 转向 故障转移 消息 首先先看如何以集群模式启动Redis 1.复制三份配置redis.conf,修改端口号port和node.conf #可选操作,该项设置后台方式运行, daem...
2018-11-29 08:44:59
824
1
原创 Redis哨兵
Sentinel是Redis的高可用性(high availability)解决方案: 由一个或多个Sentinel实例(instance)组成的Sentinel系统(system)可以监视任意多个主服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。 实际上这意味着使用哨兵模式,可以创建一个不...
2018-11-29 08:44:22
237
1
原创 Redis复制
Redis的单机模式不难,配置文件参数了解具体含义,设定业务上符合自己的就好了。 之前记录了关于Redis的数据结构和对象的知识(可以点Redis标签看看),下面开始填坑。 复制 在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务去复制(replicate)另一个服务器。被复制的服务器为主服务器(master),另一个对主服务器进行复制的服务器则被称为从服务...
2018-11-29 08:43:59
200
原创 Redis数据结构
1. 简单动态字符串(SDS) Redis没有直接使用C语言传统的字符串表示(以空字符结尾的字符数据), 而是自己构建了一种名为简单动态字符串(simple dynamic string, SDS)的抽象类型,并将 SDS用作Redis的默认字符串表示。 在Redis的数据库里面,包含字符串值得键值对在底层都是由SDS实现的。 1.1 SDS的定义 每个sds.h/sdshdr结构表示一个SDS值...
2018-11-29 08:42:51
330
1
原创 Redis对象
Redis是基于上一篇文章所说的数据结构创建了一个对象系统,这个系统包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五种类型的对象。 Redis的对象系统还实现了基于引用技术技术的内存回收机制,当程序不在使用某个对象的时候,这个对象所占用的内存就会被自动释放。 对象的类型和编码 对象结构 typedef struct redisObject { //类型 unsigne...
2018-11-29 08:42:00
196
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人