项目实践——redis的服务器和集群的搭建

为什么在电商的网站中要使用redis呢,因为redis是解决高并发问题的数据库,不能存放大数据。适合于做缓存。所以例如在电商的门户网站中,访问量是什么巨大的,而如果每次有人访问后台服务器都向数据库中查找的话,那么将会十分的耗费资源,这时候就应该把门户网站的一些信息存放在redis中以作缓存,这样的话将大大的缓解服务器的压力。

以下是总结的redis的一些知识点

1,redis的持久化:一种是rdb即快照形式,设置时间间隔进行同步数据,一种是aof即即时的同步数据。因此要数据的完整性高的话用aof

2,redis是单线程的,顺次处理命令。

3,如果缓存过多的话,这时候可以开redis的集群————这时候就有一个问题,如果开集群的话那么如何知道将key存放在哪台服务器上。

Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点

而redis集群是没有统一的入口的,只要连接集群中的任意一个节点都可以,因为他的每个节点都是互相连接的

4,如何检测集群中的节点的健康状态呢?有一个投票:容错机制,即集群中超过半数的节点认为此节点连接不上,那么集群就认为这个节点连接不上了,因此会使此节点的从节点接替他的位置,一旦这个节点没有从节点那么这个集群也就挂了

5,redis支持的数据格式。一共有五种  String   Hash   List  Set   SortedSet  常用的就是String  Hash  常用的命令  get  set   incr(+1用于id) decr(-1)

6,在一台服务器上搭建集群时候,所用的是redis-cluster

搭建集群的先行条件
1,先把redis文件夹复制一份过来。
2,删除其中的dump。rdb文件
3,修改redis.conf中的port端口号,以及ciuster—enabled 改为yes
4,将这个节点复制几份即可,然后修改其中的端口号
5,然后可编写批处理文件进行批量开启。此时就可以启动了

开始搭建集群
1,首先linux环境下得有ruby的运行环境,可以用yum install ruby进行安装ruby的运行环境和yum install rubygems  gem的安装环境
2,然后倒入 redis.gem的依赖包 gem install redis-3.0.0.gem进行安装依赖包的安装
3,而脚本在redis源码包里面的src 中的redis-trib.rb的脚本。可以复制到集群文件夹下面
4,开始运行脚本
./redis-trib.rb create --replicas 1(每个节点下面有几个从节点) 192.168.25.153:7001 192.168.25.153:7002 192.168.25.153:7003 192.168.25.153:7004 192.168.25.153:7005 192.168.25.153:7006
5,用redis自带的连接集群时  redis-cli -p(指定连接哪个节点) -c(必须得加)


项目中要想使用redis的集群的话  那么得用jedis(首先得在java项目中导入Jar包)
1.先创建一个jedisCluster的对象,构造参数Set类型,每个集合中每个元素是HostAndPort类型

2,直接使用jedisCluster来操作redis,自带连接池。jedisCluster对象可以是单例的。
3,系统关闭前关闭jediscluster。

缓存同步的处理方案,最简单的方案就是在更新的时候删除缓存。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值