Redis单机/集群搭建(含测试代码) 完整步骤
2018-02-02 16:09
513 查看
Redies4.0.6搭建(单版)
需要c/c++编译能力sudo yum install gcc-c++
解压redies安装包
sudo tar –xzvf redies4.0.6.tar.gz
进入 redies4.0.6
cd redies4.0.6
安装redies到指定路径
sudo make installPREFIX=/usr/local/redies
然后进入到redies
cd /usr/local/redies
只有一个bin目录
将redies4.0.6中的redies.conf拷贝到/usr/local/redies/bin下
sudo cp –rredies.conf /usr/local/redies/bin
然后修改配置文件redies.conf
vi redies.conf
修改daemonize yes(原来为no)
然后可以后台运行redies服务
./redis-serverredis.conf
4.0.6版本会出现如下提示
然后可以运行客户端
./redis-cli
查看进程
ps aux|grep redis
Jedis连接Redis
当出现异常:Connection refused: connect说明只允许本地127.0.0.1访问redies,所以需要修改redies.conf
#bind 127.0.0.1
然后又出现异常:DENIED Redis is running inprotected mode because protected mode is enabled…
说明需要使用密码访问,先客户端连接上然后配置密码或者修改配置文件protected-mode no
configset requirepass 密码
publicclass JdiesTest {
@Test
publicvoid
add() {
Jedis
jedis = new Jedis("192.168.254.136", 6379);
//在连接的时候需要添加密码认证
String auth =
jedis.auth("123456");
String
name = jedis.get("name");
System.out.println("name"+name);
jedis.close();
}
}
Redis集群搭建
创建安装目录mkdirredis-cluster
复制Redis中的bin文件(创建六个连接点,备份三个,必须是奇数个才能达到投票机制)
cp -r redies/bin./redis-cluster/redis01
cp -r redies/bin./redis-cluster/redis02
cp -r redies/bin./redis-cluster/redis03
cp -r redies/bin./redis-cluster/redis04
cp -r redies/bin./redis-cluster/redis05
cp -r redies/bin./redis-cluster/redis06
如果bin目录下有dump.rdb(快照),删除此文件
rm –rf dump.rdb
编辑每个cluster的redis.conf配置文件修改端口和集群配置
port 10005
cluster-enable yes
安装ruby脚本环境
yum install ruby
安装依赖环境
gem install redis(这是下载最新版,可能会出现ruby版本过低,所以建议到官网下载低版本,此处使用了3.3.1版gem install redis3.3.1)
然后找到redis-trib.rb
cd /home/nhb/redis-4.0.6/src
拷贝此文件
cp –r redis-trib.rb /usr/local/redis-cluster
运行此脚本
./redis-trib.rb create –-replicas 1(一个备份机)192.168.254.136:10001 192.168.254.136:10002 192.168.254.136:10003 192.168.254.136:10004 192.168.254.136:10005 192.168.254.136:10006
如果出现[ERR] Sorry, can't connect to node说明需要更新最新版ruby ,不想更新可以把redis.conf中bind ip号
客户端连接集群
./redis-cli –p 端口号 –c(必须要加)
使用jedis测试
@Test
publicvoid addCluster()
throws IOException {
JedisPoolConfig
poolConfig = new JedisPoolConfig();
//
设置最大连接数
poolConfig.setMaxTotal(50);
//
定义集群信息
List<JedisShardInfo>
shards = new ArrayList<JedisShardInfo>();
shards.add(new JedisShardInfo("192.168.254.136",
10001));
shards.add(new JedisShardInfo("192.168.254.136",
10002));
shards.add(new JedisShardInfo("192.168.254.136",
10003));
shards.add(new JedisShardInfo("192.168.254.136",
10004));
shards.add(new JedisShardInfo("192.168.254.136",
10005));
shards.add(new JedisShardInfo("192.168.254.136",
10006));
//
定义集群连接接
ShardedJedisPool
shardedJedisPool = new ShardedJedisPool(poolConfig,
shards);
ShardedJedis
shardedJedis = null;
try {
//
从连接池中获取到jedis分片对象
shardedJedis =
shardedJedisPool.getResource();
String
value = shardedJedis.get("name");
System.out.println(value);
} catch (Exception
e) {
e.printStackTrace();
} finally {
if (null !=
shardedJedis) {
//
关闭,检测连接是否有效,有效则放回到连接池中,无效则重置状态
shardedJedis.close();
}
}
//
关闭连接池,正常使用的时候,不用关闭
shardedJedisPool.close();
}
相关文章推荐
- 搭建单机和集群Redis,测试程序访问集群情况
- Redis 3.0集群搭建测试(二)
- Redis单机及其集群的搭建
- Redis Sentinel集群方案--单机测试
- redis单机及其集群的搭建
- Redis 3.0集群搭建测试(一)
- 搭建redis单机集群
- CentOS完美搭建Redis3.0集群并附测试
- redis在Windows下以后台服务一键搭建集群(单机--伪集群)
- redis-cluster集群单机搭建
- Redis中sentinel集群的搭建和Jedis测试 图文教程[一]
- centos7环境下zookeeper的搭建步骤之单机伪集群
- 基于redis集群实现的分布式锁,可用于秒杀商品的库存数量管理,有测试代码(何志雄)
- Redis单机及其集群的搭建
- linux搭建redis集群测试
- laravel项目利用twemproxy部署redis集群的完整步骤
- 【taotao】redis单机与集群搭建
- Redis 3.0集群搭建测试(二)
- redis集群环境搭建以及java中jedis客户端集群代码实现
- Linux下Redis集群搭建与测试