安装:
由于redis是c语言写的,所以需要先安装c的支持,然后编译安装
[root@hadoop01 ~]# yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl
[root@hadoop01 ~]# tar -zxvf /home/redis-3.2.6.tar.gz -C /usr/local/
[root@hadoop01 ~]# cd /usr/local/redis-3.2.6/
[root@hadoop01 redis-3.2.6]# make 编译,耗时常,编译后最后两行如下就表示好咯
Hint: It's a good idea to run 'make test' ;)
make[1]: Leaving directory `/usr/local/redis-3.2.6/src'
注意:redis-4.0.11的编译安装执行如下即可。
[root@hadoop01 redis-4.0.11]# make
[root@hadoop01 redis-3.2.6]# make test 尽量不自行,我选择不自行
[root@hadoop01 redis-3.2.6]# cd src && make install 需要进入src源码目录安装,不进会自动进入
[root@hadoop01 src]# mkdir /etc/redis
[root@hadoop01 redis-3.2.6]# cp redis.conf /etc/redis/6379.conf 配置文件在安装根目录
[root@hadoop01 redis-3.2.6]# vi /etc/redis/6379.conf 6379是redis的默认端口
#修改如下,默认为no
daemonize yes //改成系统守护进程
/deamonize 搜索deamonize,下一个按n键,找到后按i,改成插入模式,进行修改。按ESC,输入:wq,保存退出。其它的配置属性可以自行琢磨修改。
修改配置文件完成后,到此完成
Linux启动和测试:redis-server编译后在src目录下,可配置环境变量。
#加上`&`号使redis以后台程序方式运行
[root@hadoop01 redis-3.2.6]# redis-server & (redis-server /etc/redis/redis.conf &)
- 5779
#测试客户端连接
[root@hadoop01 redis-3.2.6]# redis-cli (redis-cli –h 127.0.0.1 -p 6379) 客户端连接服务端
127.0.0.1:6379> ping 使用ping测试是否连接正常,提供的测试命令
PONG
客户端如上则表示连接成功。
[root@hadoop01 redis-3.2.6]# ./src/redis-cli -h 192.168.216.111 -p 6379 如果设置密码保护需要输入密码才能正常使用。密码设置在redis.conf中的requirepass root (root为密码)。注意:如果window中的可视化要连接redis,在redis.conf中设置密码并且在redis.conf中添加bind为redis服务所在ip(即bind 192.168.216.111),否则默认只让当前主机登录。
Redis.conf中绑定ip:如下绑定将会覆盖127.0.0.1
如下绑定较好:
Redis.conf中设置密码:
[root@hadoop01 redis-3.2.6]# ./src/redis-cli -h 192.168.216.111 -p 6379
192.168.216.111:6379> ping
(error) NOAUTH Authentication required.
192.168.216.111:6379> auth root 输入密码
OK
192.168.216.111:6379> ping
PONG
友好停止redis的服务:
./redis-cli -h 192.168.216.111 -p 6379 shutdown
有密码时需要如下关闭:
127.0.0.1:6379> auth root
OK
127.0.0.1:6379> shutdown有密码时必须要进入客户端,输入密码才能关闭
not connected> select 1
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected>
可以直接使用kill杀死其pid:
[root@hadoop01 redis-3.2.6]# ps -ef | grep redis 查看是否启动
ps –ef | grep redis //服务正常启动的话,可以搜索到服务,端口为6379。
kill 9 进程号 //强制杀死进程
主从配置:(主机器不配置)
vi ./redis.conf
从服务器配置
slaveof 192.168.216.111 6379
masterauth root
从服务器需要重新设置绑定:
vi ./redis.conf
bind 127.0.0.1 192.168.216.112
保证启动从服务器的时候master安装目录下的dump.rdb文件被删除。
rm -rf ./dump.rdb
Redis的综合基础命令:
显示有多少个数据库:
192.168.216.111:6379> config get databases
1) "databases"
2) "16"
切换到数据库1,默认使用数据库0:
192.168.216.111:6379> select 1
OK
显示redis的数据库相关信息:
192.168.216.111:6379[1]> info
......一堆详细信息
显示info中keyspace(数据库)信息:
192.168.216.111:6379[1]> info keyspace
# Keyspace
db0:keys=3,expires=0,avg_ttl=0
db2:keys=1,expires=0,avg_ttl=0
显示所有数据库1中所有有效keys:
192.168.216.111:6379[1]> keys *
1) "test"
192.168.216.111:6379[1]> dbsize 显示所有keys的数量,包括未被销毁的key
(integer) 1