Redis
Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。[引自百度百科]
yum安装redis
查看yum源是否有redis的安装包
yum search redis

或
yum -y install redis

上述结果皆表明当前yum源(CentOS官方源)没有reids的安装包
下载fedora的epel仓库(如果当前yum源没有reids)
该仓库中包含了redis软件安装包
yum -y install epel-release

安装Redis
yum -y install redis

查看Resid安装信息(安装路径)
软件包信息
rpm -qa|grep redis
结果: redis-3.2.12-2.el7.x86_64
**
配置文件reids.conf位置
whereis redis
结果:/etc/redis.conf
**
详细安装位置
rpm -ql redis-3.2.12-2.el7.x86_64
结果:
/**etc**主要放置redis配置文件
/**usr/bin**放置redis命令
/**usr/lib**放置redis的函数库
/**usr/share**放置redis的资源文件如文档和许可
/**var**放置redis的动态内容如缓存和日志
/etc/logrotate.d/redis
/etc/redis-sentinel.conf
/etc/redis.conf
/etc/systemd/system/redis-sentinel.service.d
/etc/systemd/system/redis-sentinel.service.d/limit.conf
/etc/systemd/system/redis.service.d
/etc/systemd/system/redis.service.d/limit.conf
/usr/bin/redis-benchmark
/usr/bin/redis-check-aof
/usr/bin/redis-check-rdb
/usr/bin/redis-cli
/usr/bin/redis-sentinel
/usr/bin/redis-server
/usr/lib/systemd/system/redis-sentinel.service
/usr/lib/systemd/system/redis.service
/usr/libexec/redis-shutdown
/usr/share/doc/redis-3.2.12
/usr/share/doc/redis-3.2.12/00-RELEASENOTES
/usr/share/doc/redis-3.2.12/BUGS
/usr/share/doc/redis-3.2.12/CONTRIBUTING
/usr/share/doc/redis-3.2.12/MANIFESTO
/usr/share/doc/redis-3.2.12/README.md
/usr/share/licenses/redis-3.2.12
/usr/share/licenses/redis-3.2.12/COPYING
/usr/share/man/man1/redis-benchmark.1.gz
/usr/share/man/man1/redis-check-aof.1.gz
/usr/share/man/man1/redis-check-rdb.1.gz
/usr/share/man/man1/redis-cli.1.gz
/usr/share/man/man1/redis-sentinel.1.gz
/usr/share/man/man1/redis-server.1.gz
/usr/share/man/man5/redis-sentinel.conf.5.gz
/usr/share/man/man5/redis.conf.5.gz
/var/lib/redis
/var/log/redis
/var/run/redis

卸载Redis
yum remove redis
启动Redis服务
service redis start

查看Redis服务状态
service redis status

查看Redis服务进程
ps -ef|grep redis

配置开机自启
chkconfig redis on

使用Redis
进入redis client
redis-cli

向redis添加内容
set testKey 'testValue'

获取缓存中的所有key
keys *

获取缓存中对应key的值
get testKey

从缓存中移除数据
del testKey

退出redis client
exit
关闭Redis服务
service redis stop
RPM安装Redis
查看本机是否存在redis安装包
rpm -qa|grep redis
结果为空则表示本机无redis安装包

下载redis安装包压缩包
首先安装wget文件下载工具,如果已存在则不用安装
yum -y install wget

从资源网站下载redis安装包压缩包(习惯置于opt目录下)
cd /opt
wget http://download.redis.io/releases/redis-3.2.12.tar.gz

解压
tar xzvf redis-3.2.12.tar.gz
安装
进入解压后的目录
cd redis-3.2.12

编译命令
make

此处提示
/bin/sh: cc: 未找到命令
是因为系统没有安装gcc,安装即可
yum -y install gcc automake autoconf libtool make
重新make

此处提示致命错误:jemalloc/jemalloc.h:没有那个文件或目录
执行
make MALLOC=libc
完成后,发现src下生成了redis-server,redis-cli 说明成功了

进入src目录
cd src

安装redis服务并将安装目录指向/usr/local/redis
make install PREFIX=/usr/local/redis


将配置文件/opt/redis-3.2.12/redis.conf 移至/usr/local/redis/etc
mkdir /usr/local/reids/etc
mv /opt/redis-3.2.12/redis.conf /usr/local/redis/etc

配置reids后台启动
如果不配置,将会前台启动,切换视图后将关闭redis,将redis.conf中的daemonize no**改为**daemonize yes
vi /usr/local/redis/etc/redis.conf

配置redis开机自启
vi /etc/rc.local
往/etc/rc.local中添加如下内容,意即开机执行此命令
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

卸载Redis服务
首先停止redis服务进程

pkill -f redis

进入redis目录,然后删除所有redis文件:/usr/local/redis
rm -r /usr/local/redis

编辑/etc/rc.local,去除开机自启
vim /etc/rc.local
将如下语句注释或删除后保存即可

启动redis服务
./usr/local/redis/bin/redis-server ./usr/local/redis/etc/redis.conf
访问reids client
./usr/local/redis/bin/redis-cli
关闭redis服务
pkill -ef |grep redis
Redis配置
主要对/redis.conf进行编辑配置
vim /etc/redis.conf
设置密码
redis默认无密码,找到文件中的 requirepass foobared 解开注释并将foobared更改为你想要的密码即可自定义密码登录

requirepass 123456
开启Redis远程控制
使用如Redis Desktop Manager等redis远程客户端连接linux上的redis,提示如下
原因:redis指定默认允许访问网段是本机,且拒绝远程访问
开启redis远程访问,编辑/etc/redis.conf
vim /etc/redis.conf
找到bind 127.0.0.1注释掉,解除绑定,同时将protected-mode yes改为protected-mode no

保存修改后重启redis并重新连接,发现依旧连接失败

此时猜想是防火墙的端口未开放,此处有几种方式去检测
①在windows宿主机远程测试连接linux服务器的6379端口
telnet ip 端口
这个工具默认在windows是不开启的,需要去开启:控制面板->程序->启用或关闭windows功能>勾上Telnet Client并确认

执行命令结果显示端口连接失败,即宿主机客户端无法连接linux主机的6379端口

②服务器命令
lsof -i:端口号
如果有显示则表示端口开启,如果没有则表示未开启

也可以使用如下命令查看
netstat -aptn |grep -i 端口号
防火墙开启端口6379
firewall-cmd --zone=public --add-port=端口号/tcp --permanent

重启防火墙
service firewalld restart
查看端口是否开放
lsof -i:6379

远程连接尝试
**
如有贻误,还请评论指正
