centos6.5 redis 安装配置及java调用
1、安装gcc
执行命令 yum install gcc
2、 安装ruby环境
yum install ruby
yum install rubygems
gem install redis
下载解压redis,3.0及以后才支持群集
wget http://download.redis.io/releases/redis-3.0.0.tar.gz
tar -zxzf redis-3.0.0.tar
进入刚刚解压redis-3.0.0的目录src子目录
cd redis-3.0.0/src
开始编译安装
make
make test
make install
更改profile文件
vim /etc/profile
export REDIS_HOME=/usr/local/redis-3.0.0/src
export PATH=$PATH:REDIS_HOME
立即生效
source /etc/profile
启动redis-server
cd /usr/local/redis-3.0.0/
src/redis-server redis.conf
测试
src/redis-cli
执行上面代码后会进入redis命令行模式
存储key为foo 值为123456
set foo 123456
提示OK
获取
get foo
输出123456
到此单节点也安装完成,下一步是进行群集安装
首先进入redis-3.0.0目录创建一个名为cluster的文件夹,然后再里面再创建7000--7005文件夹
cd cluster/
mkdir 7000
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005
将redis-3.0.0目录 下的redis.conf拷贝到刚刚创建的cluster目录中
cp /usr/local/redis3.0/redis.conf /usr/local/redis3.0/cluster/
修改redis.conf
vi redis.conf
##修改配置文件中的下面选项
port 7000
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
修改完成后保存退出,然后将该文件分别拷贝到 7000,7001,7002,7003,7004,7005中各一份
然后再分别修改红色部分的端口号,改成和文件夹名一样
分别启动这6个redis实例
cd /usr/local/redis-3.0.0/cluster/7000
redis-server redis.conf
cd /usr/local/redis-3.0.0/cluster/7001
redis-server redis.conf
cd /usr/local/redis-3.0.0/cluster/7002
redis-server redis.conf
cd /usr/local/redis-3.0.0/cluster/7003
redis-server redis.conf
cd /usr/local/redis-3.0.0/cluster/7004
redis-server redis.conf
cd /usr/local/redis-3.0.0/cluster/7005
redis-server redis.conf
##启动之后使用命令查看redis的启动情况ps -ef|grep redis
执行redis的创建集群命令创建集群
cd /usr/local/redis3.0/src
./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
注意ip地址可以根据实际情况赶写真实ip
以上过程会提示输入yes
使用redis-cli命令进入集群环境
redis-cli -c -p 7000
进入后可以再执行 set foo 123
get foo进行测试
java调用 :
maven依赖
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.0.2.RELEASE</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.2</version> </dependency>
java代码调用(我真实的机器ip为:192.168.1.22)
Set<HostAndPort> nodes=new HashSet<HostAndPort>(); nodes.add(new HostAndPort("192.168.1.22",7000)); nodes.add(new HostAndPort("192.168.1.22",7001)); nodes.add(new HostAndPort("192.168.1.22",7002)); nodes.add(new HostAndPort("192.168.1.22",7003)); nodes.add(new HostAndPort("192.168.1.22",7004)); nodes.add(new HostAndPort("192.168.1.22",7005)); JedisPoolConfig config=new JedisPoolConfig(); config.setMaxWaitMillis(60000); config.setMaxTotal(100); config.setMaxIdle(10); JedisCluster cluster=new JedisCluster(nodes,60000,10,config); for(int i=0;i<100;i++){ String key="key"+i; cluster.set(key,""+i); String value=cluster.get(key); System.out.println(value); } cluster.close();
下面列出了安装过程会遇到的错误
错误内容:
./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)
from ./redis-trib.rb:24
解决方法:
yum install rubygems
错误内容:
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from ./redis-trib.rb:25
解决方法
gem install redis
错误内容:/usr/bin/env: ruby: No such file or directory
解决方法
yum install ruby