安装Redis
1、cd /home/tkamc Redis安装路径
2、mkdir redis 创建目录redis
3、redis-4.0.10.tar.gz 从windows拷贝到home/tkamc/
4、tar -xzvf redis-4.0.10.tar.gz 解压到本地
5、进入解压目录:
- make 在目录下输入make命令
- make install 什么都不写就是安装在本地目录
make PREFIX="/home/tkamc/install/redis3" install 安装在指定目录
8、 如果有bin目录说明安装成功
9、查看bin目录,
Redis-server:用来启动redis工具
Redis-benchmark:用来检测redis在本机的运行效率
Redis-check-aof:修复aof持久化
Redis-check-rbd:修复rbd持久化
Redis-cli :指的是命令行工具
Redis-sentinel :软链接
- redis使用
cd /home/tkamc/redis-4.0.10
11、cp redis.conf /home/tkamc/install/redis3/ 将redis.conf 文件拷贝到redis3
12、cd /home/tkamc/install/redis3/bin
./redis-server ../redis.conf 启动redis
运行成功!
- ./redis-benchmark 执行当前文件 检测效率(吞吐量)
- ./redis-cli 命令行工具
set key value 设置
get key 获取
15、
mkdir /home/tkamc/install/redis3/run 创建run目录
touch redis.pid 创建redis.pid文件
mkdir /home/tkamc/install/redis3/var 创建var目录
touch redis.log 创建redis.log文件
15、vi /home/tkamc/install/redis3/redis-conf 修改配置文件
#编辑 去除bind 127.0.0.1 否则远程无法访问
daemonize yes
#以后台daemon方式运行redis ,默认daemonize no
pidfile "/home/tkamc/install/redis3/run/redis.pid"
#redis以后台运行,默认pid文件路径/var/run/redis_6379.pid
port 6379
#默认端口
#bind 127.0.0.1
#默认绑定本机所有ip地址,为了安全,可以只监听内网ip
timeout 300
#客户端超时设置,单位为秒,默认timeout 0
loglevel verbose
#设置日志级别,支持四个级别:debug、notice、verbose、warning
logfile stdout
#日志记录方式,默认为标准输出,logs不写文件,输出到空设备/deb/null
logfile "/home/tkamc/install/redis3/var/redis.log”
#可以指定日志文件路径,默认是“”
databases 16
#开启数据库的数量
save 900 1
save 300 10
save 60 10000
创建本地数据库快照,格式:save * *
900秒内,执行1次写操作
300秒内,执行10次写操作
60秒内,执行10000次写操作
rdbcompression yes
#启用数据库lzf压缩,也可以设置为no
dbfilename dump.rdb
#本地快照数据库名称
dir "/home/tkamc/install/redis3/var/"
#本地快照数据库存放目录,默认是./
requirepass 123456
#设置redis数据库连接密码,默认#requirepass foobared
maxclients 10000
#同一时间最大客户端连接数,0为无限制,默认#maxclients 10000
maxmemory 1024MB(6096MB)
#设定redis最大使用内存,值要小于物理内存,必须设置,默认#maxmemory <bytes>
appendonly yes
#开启日志记录,相当于MySQL的binlog,默认appendonly no
appendfilename "appendonly.aof"
#日志文件名,注意:不是目录路径,默认不变
appendfsync everysec
#每秒执行同步,还有两个参数always、no一般设置为everysec,相当于MySQL事物日志的写方式
MySQL
#事物日志的写方式
- cd /home/tkamc/install/redis3/bin 进入bin目录
./redis-server ../redis-cli 启动redis
- redis-cli -a 123456 测试数据库
set name tkamc #写数据
get name #读取数据
exit #退出redis数据库控制台
- redis-benchmark -h 127.0.0.1 -p 6379 -c 1000 -n 100000
#1000个并发连接,100000个请求,测试127.0.0.1端口为6379的redis服务器性能
20、配置文件详细说明:
Bind:指的是绑定的ip
Protected-mode:询问是否开启保护模式
如果不开启,bind不起作用(密码也不起作用)
Port:默认6379,若想启动多个redis进程,需要制定不同的端口号(配置多个文件,引用不同的端口号)
Tcp-backlog:设置tcp的backlog(连接队列),tcp三次握手,未完成和已完成的总和。
Timeout:连接超时时间。默认是0.
Tcp-keepalive:检测keepalive的值(健康检查),默认值是0,表示不检测。建议设置60s。做HA
通用配置:
Daemonize:默认是no,如果改成yes,就是后台进程,直接操作,./redis-cli
Pidfile:指定pid存储的路径和文件。在正式环境,一定使用
一台服务器:搭建redis集群
- 创建7000.conf配置文件
#cp /home/tkamc/install/redis3/redis.conf /home/tkamc/install/redis3/7000.conf
2、修改文件
#vim 7000.conf
port 7000 //端口
bind 10.88.158.65 //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize yes //redis后台运行
pidfile ./redis_7000.pid //pidfile文件对应7000
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
- 启动
#./redis-server ../redis.conf
#./redis-server ../7000.conf
- 测试
#./redis-cli -h 10.88.158.65 -p 7000 -a 123456
提示错误:(error) CLUSTERDOWN Hash slot not served
这是因为虽然我们配置并启动了 Redis 集群服务,但是他们暂时还并不在一个集群中,互相直接发现不了,而且还没有可存储的位置,就是所谓的slot(槽)。
- 安装ruby和相关接口
解压
#cd /home/tkamc
#tar -zxvf ruby-2.5.1.tar.gz
编辑配置并编译源代码进行安装
#cd /home/tkamc/ruby-2.5.1
# ./configure –-prefix=/usr/local/ruby
#make && make install
配置环境变量
#vim /etc/profile
#source /etc/profile
安装rubygems
解压
#tar -zxvf rubygems-2.7.7.tgz
安装
#cd rubygems-2.7.7.tgz
#ruby setup.rb 安装命令
更新 RubyGems 命令
#gem update --system
报错
修改环境变量
#vim /etc/profile
#source /etc/profile
安装openssl
解压
#tar -zxvf openssl-1.1.1.tar.gz
配置文件和安装
#cd openssl-1.1.1
# ./config -fPIC --prefix=/usr/local/openssl enable-shared
#./config -t
#make && make install
#openssl -version 查看版本
#cd /home/tkamc/ruby/ext/openssl
#ruby extconf.rb --with-openssl-include=/usr/local/openssl/include/ --with-openssl-lib=/usr/local/openssl/lib
成功!
#软链接到/目录下
ln -s /home/tkamc/ruby-2.2.3/include /
安装
#make && make install
下载redis.gem
# gem install redis-3.3.0.gem
没网
切换镜像
#sudo gem sources -r https://rubygems.org
#sudo gem sources -a http://rubygems.org
下载redis-3.2.1.gem
安装
#gem install -l redis-3.2.1.gem
成功。
操作集群
#cd /home/tkamc/redis-4.0.1/src/redis-trib.rb
#redis-trib.rb create --replicas 1 10.88.158.65:7001 10.88.158.65:7002 10.88.158.65:7003 10.88.158.65:7004 10.88.158.65:7005 10.88.158.65:7006
遇到错误:
[ERR] Node 10.88.158.65:7001 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
解决:删除log、pid、aof、nodes-port(对应端口号).conf