- 浏览: 985290 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (826)
- 硬件 (8)
- 软件 (24)
- 软件工程 (34)
- JAVA (229)
- C/C++/C# (77)
- JavaScript (8)
- PHP (1)
- Ruby (3)
- MySQL (14)
- 数据库 (19)
- 心情记事 (12)
- 团队管理 (19)
- Hadoop (1)
- spring (22)
- mybatis(ibatis) (7)
- tomcat (16)
- velocity (0)
- 系统架构 (6)
- JMX (8)
- proxool (1)
- 开发工具 (16)
- python (10)
- JVM (27)
- servlet (5)
- JMS (26)
- ant (2)
- 设计模式 (5)
- 智力题 (2)
- 面试题收集 (1)
- 孙子兵法 (16)
- 测试 (1)
- 数据结构 (7)
- 算法 (22)
- Android (11)
- 汽车驾驶 (1)
- lucene (1)
- memcache (12)
- 技术架构 (7)
- OTP-Erlang (7)
- memcached (17)
- redis (20)
- 浏览器插件 (3)
- sqlite (3)
- Heritrix (9)
- Java线程 (1)
- scala (0)
- Mina (6)
- 汇编 (2)
- Netty (15)
- libevent (0)
- CentOS (12)
- mongod (5)
- mac os (0)
最新评论
-
kingasdfg:
你这里面存在一个错误添加多个任务 应该是这样的 /** * ...
Quartz的任务的临时启动和暂停和恢复【转】 -
kyzeng:
纠正一个错误,long型对应的符号是J,不是L。
Jni中C++和Java的参数传递 -
zhaohaolin:
抱歉,兄弟,只是留下作记录,方便学习,如果觉得资料不好,可以到 ...
netty的个人使用心得【转】 -
cccoooccooco:
谢谢!自己一直以为虚机得使用网线才可以与主机连接呢。。
主机网卡无网线连接与虚拟机通信 -
yuqilin001:
要转别人的东西,请转清楚点嘛,少了这么多类,误人子弟
netty的个人使用心得【转】
Redis的主从复制功能非常强大,一个mas ter可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器 集群架构。下面我演示下怎样在多台服务器上进行Redis数据主从复制。这里我假设有两台服务器,一台是Windows 操作系统(局域网 IP :192.168.3.82),一台是Linux 操作系统(局域网IP:192.168.3.90),在两个操作系统都安装 redis,Windows操作系统使用cygwin工具进行安装,命令为:
1
|
$
tar
xzf redis-2.2.2.
tar
.gz
|
2
|
$
cd
redis-2.2.2
|
3
|
$
make
|
可以通过"make test”命令判断是否安装成功。
这里我使用1个master以及2个slave(master在Windows下,一个slave在Windows下,一个slave在Linux 下),基本流程是:
1. 在Windows服务器上创建两个目录,Demo1,Demo2,其中Demo1用来存放Master服务,Demo2用来存放Slave服务,
在Master服务中的配置文件修改:
1
|
bind 192.168.3.82
|
在Slave服务中的配置文件修改:
1
|
port 6381(服务端口号要分开)
|
2
|
bind 192.168.3.82
|
3
|
slaveof 192.168.3.82 6379 (设置master的Host以及Port)
|
2. 在Linux服务器上创建一个目录,Demo,Demo存放Slave服务,在服务中的配置文件修改:
1
|
bind 192.168.3.90
|
2
|
slaveof 192.168.3.82 6379(设置master的Host以及Port)
|
这样就完成了所有的配置。
3. 现在运行这3个服务,通过命令:
1
|
./redis-server
redis.conf
|
来启动redis服务。
注意到,当我启动master,然后启动一个slave的时候,可以发现slave上:
会发送一个SYNC请求,从Master上面进行相应,而且它支持自动重连,即当master掉线的情况下,它会处于等待请求的状态。
而Master上:
能够接受Slave的应答,并且开始持久化操作,说明在Slave每次去连接Master的时候,都会去持久化磁盘。
4. 现在开始写一个客户端程序,使用到ServiceStack.Redis.dll的.NET 组件:
01
|
using
ServiceStack.Redis;
|
02
|
03
|
static
void
Main(
string
[] args)
|
04
|
{
|
05
|
IRedisClientFactory factory =
new
RedisCache
ClientFactory();
|
06
|
IRedisClient client = factory.CreateRedisClient(
"192.168.3.82"
, 6379);
|
07
|
08
|
client.Set<
string
>(
"username"
,
"leepy"
);
|
09
|
10
|
string
username = client.Get
<
string
>(
"username"
);
|
11
|
12
|
client.Save();
|
13
|
14
|
Console.WriteLine(
"username: {0}"
, username);
|
15
|
16
|
Console.ReadLine();
|
17
|
}</
string
></
string
>
|
运行结果:
数据Set的时候,数据保存在内存中,当调用Save方法时候,将数据保存在磁盘中。
其中你会发现在3个服务目录中,都出现了dump.rdb,说明Master的文件都同步到Slave中去了。
用UE编辑器打开文件查看:
从Redis源码中,可以发现rdb文件采用的是lzf压缩算法进行实现,默认lzf压缩算法是开启的。
这样你可以通过其他的客户端程序或者Web 平台去读取Slave磁盘数据库 的数据,真正达到了读写分离的目的。
发表评论
-
Redis入门教程
2011-07-12 22:08 2111入门教程,仅供菜鸟。 ... -
Redis数据库介绍
2011-07-12 22:07 27801. Redis是什么 这个问题的结果影响了我们怎么用R ... -
redis-sharding – 一个 Redis Proxy【转】
2011-04-28 01:43 1618redis-sharding 是一个由perl写的 Redis ... -
redis 运维实际经验纪录之一【转】
2011-04-26 11:30 1147发表于 2010/05/25 由 ... -
1,250,000,000 Key/Value Pairs in Redis 2.0.0-rc3 on a 32GB Machine【转】
2011-04-26 11:28 880Posted on July 25, 20 ... -
200,000,000 Keys in Redis 2.0.0-rc3【转】
2011-04-26 11:27 950Posted on July 24, 20 ... -
Redis配置文件各项参数说明【转】
2011-04-26 11:00 1586最近一个项目用到Redis ... -
Redis配置主从服务器【转】
2011-04-26 10:31 1248redis配置主从服务器 R ... -
More Redis internals: Tracing a GET & SET【转】
2011-04-26 10:09 1834In my previous article , I too ... -
深入Redis内部-Redis 源码讲解【转】
2011-04-26 10:08 571Redis 作为 NoSQL 数据库的杰出代表,一直广受关注, ... -
redis安装配置及使用【转】
2011-04-26 09:03 15372011-03-27 20:41 http://cod ... -
Redis安装配置【转】
2011-04-26 09:02 2009http://bbs.linuxtone.org/thread ... -
闲聊Redis【转】
2011-04-26 09:00 1128Redis 是一个有趣 的项目,与其把它说成键值存储、键 ... -
redis知识点整理【转】
2011-04-25 22:40 1018xmind做的笔记,可惜只能截图 关键字: ... -
jedis线程池的代码【转】
2011-04-25 22:36 2771备忘:(本机i5的测试数据:redis线程执行时间是:2118 ... -
归档Redis在Windows,linux平台下的安装配置【转】
2011-04-25 22:25 2179为了方便查阅资料,特将网上搜索到的Redis相关安装配置进行归 ... -
Redis在Windows下的使用[转]
2011-04-25 22:24 1123Windows版的Redis可到此处下载,非官方版http:/ ... -
windows下redis和memcached的性能对比测试【转】
2011-04-25 22:19 1657在windows下测试了redis和memcached的性能, ... -
膜拜Redis【转】
2011-04-25 21:14 960膜拜Redis 2009年06月18 ...
相关推荐
Redis持久化保证了即使redis服务重启也不会丢失数据,因为redis服务重启后会将硬盘上持久化的数据恢复到内存中,但是当redis服务器的硬盘损坏了可能会导致数据丢失,如果通过redis的主从复制机制就可以避免这种单点...
Redis的持久化保证了即使Redis服务重启也不会丢失数据,因为Redis服务重启后会将硬盘上持久化的数据恢复到内存中,但是当Redis服务器的硬盘损坏了可能会导致数据丢失,不过通过Redis的主从复制机制就可以避免这种单...
为了避免单机redis服务器故障,准备多台机器,同步保存多个副本,实现redis的高可用,同时实现数据冗余备份。 一、什么是主从复制 主从复制即将master机器中的数据即时有效的复制到slave机器中,一个master可以拥有...
为方便演示,在一台服务器上搭建redis主从(生产上不会这样做),根据端口区分。 主库 6379 从库 6380 编辑配置文件 vi redis-6379.conf #后台进程启动 daemonize yes #端口 port 6379 #日志文件名称 logfile ...
集群技术是构建高性能网站架构的重要手段,试想在网站...上一篇我们讲到了 Redis 的主从复制技术,当实现了多节点的 master-slave 后,我们也可以把它叫做集群,但我们今天要讲的集群主要是利用切片技术来组建的集群。
主从同步:Redis支持主从同步,即可以将数据复制到任意数量的从服务器。这一特性使得Redis能够实现数据的备份和恢复,提高系统的可用性和可靠性。 Redis的应用场景非常广泛,包括但不限于: 缓存:Redis常被用作
在实际应用中,如果有相应的设置,在向一台Redis服务器里写数据后,这个数据可以复制到另外一台(或多台)Redis服务器,这里数据源服务器叫主服务器(Master Server),而复制数据目的地所在的服务器叫从服务器...
区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。 Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对...
通过前面几篇的介绍中,我们都是在单机上使用Redis进行相关的实践操作,从本篇起,我们将初步探索一下Redis的集群,而集群中最经典的架构便是主从复制架构。那么,我们首先来了解一下神马是主从复制架构?随着网站...
特性 1〉速度快,数据放在内存中,官方...6〉主从复制:实现多个相同数据的 redis 副本 8〉高可用和分布式:哨兵机制实现高可用,保证 redis 节点故障发现和自动转移 9〉客户端语言多:java php python c c++ nodejs 等
区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。 Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类...
区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类...
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-...数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。
区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。 Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类...
我们知道,当有多台 Redis 服务器时,肯定就有一台主服务器和多台从服务器。一般来说,主服务器进行写操作,从服务器进行读操作。 那么这里有存在一个问题:从服务器如何和主服务器进行数据同步的呢? 这个问题,...
单台服务器资源总是有上限的,CPU和IO资源可以通过主从复制,进行读写分离,把一部分CPU和IO的压力转移到从服务器上,但是内存资源怎么办,主从模式只是数据的备份,并不能扩充内存; 现在我们可以横向扩展,让每台...
同时,Redis支持数据的持久化,你可以每隔一段时间将数据集转存到磁盘上(snapshot),或者在日志尾部追加每一条操作命令(append only file,aof)。 Redis同样支持主从复制(master-slave replication),并且具有...
一、Redis是什么? 1 是一个高性能的(key/value)分布式内存数据库; 2 是一个NoSql数据库,基于...4 分布式系统下,Redis可以利用哨兵模式Sentinel监控主机工作状态,在Master主服务器发生故障的时候,可以实现Maste