运行结果:
一、下载安装Wget
bind192.168.3.82
而Master上:
安装在linux环境下
1.在Windows服务器上创建两个目录,Demo1,Demo2,其中Demo1用来存放Master服务,Demo2用来存放Slave服务,
·dir:数据快照的保存目录(这个是目录)
Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。下面我演示下怎样在多台服务器上进行Redis数据主从复制。这里我假设有两台服务器,一台是Windows操作系统(局域网IP:192.168.3.82),一台是Linux操作系统(局域网IP:192.168.3.90),在两个操作系统都安装redis,Windows操作系统使用cygwin工具进行安装,命令为:
现在我们配置redis的参数,双击打开application.properties文件进行修改
./redis-cligethx
这里我使用1个master以及2个slave(master在Windows下,一个slave在Windows下,一个slave在Linux下),基本流程是:
IRedisClientFactoryfactory=newRedisCacheClientFactory();
![]()
datatypes(String、Lists、SortedSets、Hashes)
对于第二点,如果是Redis缓存,更新数据后直接在Redis中清除即可;如果是本地缓存,就需要用消息来通知其他机器清除各自的本地缓存了。(业界终于接受了用消息来同步缓存的设计思想,cheers!)我有一个小项目joint-cache-redis来简单地演示“用消息来同步多个机器的缓存”,而且在实践中发现Kafka可能比Redis更适合于这个场景。
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
cpredis.conf/etc/
Port默认端口是6379
要配置参数的意义:
·save**:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
2.在Linux服务器上创建一个目录,Demo,Demo存放Slave服务,在服务中的配置文件修改:
slaveof192.168.3.826379(设置master的Host以及Port)
usingServiceStack.Redis;
$cdredis-2.2.2
4.make
基于相同的考虑,Redis2.0也增加了VM特性。让Redis数据容量突破了物理内存的限制。并实现了数据冷热分离。
quit:关闭连接(connection)
cpsrc/redis-serversrc/redis-clisrc/redis-benchmark/usr/local/redis
作者antirez在解释为什么要自己实现VM中提到几个原因(6)。主要OS的VM换入换出是基于Page概念,比如OSVM1个Page是4K,4K中只要还有一个元素即使只有1个字节被访问,这个页也不会被SWAP,换入也同样道理,读到一个字节可能会换入4K无用的内存。而Redis自己实现则可以达到控制换入的粒度。另外访问操作系统SWAP内存区域时block进程,也是导致Redis要自己实现VM原因之一。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-75049-3.html
爱你