您的位置:首页 > 数据库 > Redis

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

2017-10-05 21:49 281 查看
为什么在电商的网站中要使用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包)
9521

1.先创建一个jedisCluster的对象,构造参数Set类型,每个集合中每个元素是HostAndPort类型

2,直接使用jedisCluster来操作redis,自带连接池。jedisCluster对象可以是单例的。

3,系统关闭前关闭jediscluster。

缓存同步的处理方案,最简单的方案就是在更新的时候删除缓存。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: