redis 简单介绍
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
首先安装redis,这里安装的是linux版本的。 在liunx的/usr/local/下 输入命令
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
复制代码
- -bash:wget:未找到命令
- 安装
yum install wget
复制代码
-
下载完成后解压 $tar -zxvf redis-5.0.3.tar.gz
-
在进入目录 cd redis-5.0.3
-
执行命令 make ,make如果报错安装c++编译器,执行
yum -y install gcc-c++
复制代码
集群配置
搭建集群:至少要3个master; 现在在3台服务器上搭建,一台服务器上部署一master一slave
- 第一步创建一个文件夹redis-cluster,linux创建目录命令mkdir xxx.
- 然后在文件夹redis-cluster下创建2个文件夹master、slave
- 第二步将redis5.0.3/conf/目录下的redis.conf文件copy到master、slave下,对复制后的redis.conf文件修改
* daemonize yes
* port 7001(开启的端口)
* bind 0.0.0.0
* dir /usr/local/redis-cluster/master/(指定数据文件存放的位置,不同conf文件指定不同的目录位置)
* cluster-enabled yes (启动集群,开始玩耍)
* cluster-config-file node7001.conf(最好和port对应上)
* cluster-node-timeout 5000
* appendonly yes
复制代码
- 第三步 将各个master,slave下的conf文件修改完成
- 第四步 redis集群需要ruby命令,所有我们来安装ruby命令
* yum install ruby
* yun install rubygems
* gem install redis
``` (安装redis和ruby的接口)
*
CentOS7 yum库中ruby的版本支持到 2.0.0,可gem 安装redis需要最低是2.2.2,自己编译的ruby源码,再执行还是报错
采用rvm来更新ruby:
方法三:RVM 安装
先执行一条官方 https://rvm.io/复制来的长命令(...C0E3空格7D2B...):
复制代码
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
可能会等待十几秒时间,然后执行下面命令:
复制代码
\curl -sSL get.rvm.io | bash -s stable
复制代码
source /etc/profile.d/rvm.sh //按照提示,执行该命令
rvm list known // list一下可以安装的版本
![](https://user-gold-cdn.xitu.io/2019/3/8/1695c117b9ea91ff?w=342&h=265&f=png&s=13835)
复制代码
rvm install 2.4.1 // 安装ruby 2.4.1 ,直接跟版本号即可
复制代码
ruby -v //查看验证下已经安装的版本 gem -v
至此,ruby安装完成了
[https://www.cnblogs.com/ding2016/p/7903147.html]()
* 第五步 分别启动6个redis实例,然后检查是否启动成功
* (1)
复制代码
/usr/local/redis5.0.3/bin/redis-srever /usr/local/redis-cluster/master/redis.conf
* (2)
复制代码
ps -el|grep redis
* ## 创建集群
现在我们已经运行了许多实例,我们需要通过向节点编写一些有意义的配置来创建我们的集群。
如果您使用的是Redis 5,这很容易实现,因为我们在嵌入的Redis Cluster命令行实用程序的帮助下redis-cli,可以用来创建新集群,检查或重新硬化现有集群等等。
对于Redis版本3或4,有一个名为redis-trib.rb非常相似的旧工具。您可以src在Redis源代码分发的目录中找到它。你需要安装redisgem才能运行redis-trib。
* 第六步 到redis5.0.3/src/目录下 然后执行redis-cli 命令
*
复制代码
redis-cli --cluster create 192.101.63.59:7001 192.101.63.59:7002 192.14.12.45:7001 192.14.12.45:7002 192.101.134.36:7001 192.101.134.36:7002 --cluster-replicas 1
* 最后,如果一切顺利,你会看到这样的消息:
* All 16384 slots covered
* 这意味着至少有一个主实例为16384个可用插槽提供服务。连接本地的节点
## 设置集群访问密码:
方式一:修改所有Redis集群中的redis.conf文件加入:
复制代码
masterauth 123456
requirepass 123456.
说明:这种方式需要重新启动各节点
方式二:进入各个实例进行设置:
*
复制代码
./redis-cli -c -h 192.168.70.74 -p 7001 //连接其他节点
-
config set masterauth 123456
-
config set requirepass 123456 config rewrite
设置成功以后,可以ip,端口进入实例,但是操作需要密码:
auth 密码
复制代码