—-慢慢来比较快,虚心学技术—-

Redis

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

yum安装redis

查看yum源是否有redis的安装包

  1. yum search redis

image.png

yum -y install redis

image.png

上述结果皆表明当前yum源(CentOS官方源)没有reids的安装包

下载fedora的epel仓库(如果当前yum源没有reids)

该仓库中包含了redis软件安装包

yum -y install epel-release

image.png

安装Redis

yum -y install redis

image.png

查看Resid安装信息(安装路径)

软件包信息

rpm -qa|grep redis

结果: redis-3.2.12-2.el7.x86_64
**
image.png

配置文件reids.conf位置

whereis redis

结果:/etc/redis.conf
**
image.png

详细安装位置

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

image.png

卸载Redis

yum remove redis

启动Redis服务

service redis start

image.png

查看Redis服务状态

service redis status

image.png

查看Redis服务进程

ps -ef|grep redis

image.png

配置开机自启

chkconfig redis on

image.png

使用Redis

进入redis client

redis-cli

image.png

向redis添加内容

set testKey 'testValue'

image.png

获取缓存中的所有key

keys *

image.png

获取缓存中对应key的值

get testKey

image.png

从缓存中移除数据

del testKey

image.png

退出redis client

exit

关闭Redis服务

service redis stop

RPM安装Redis

查看本机是否存在redis安装包

rpm -qa|grep redis

结果为空则表示本机无redis安装包

image.png

下载redis安装包压缩包

首先安装wget文件下载工具,如果已存在则不用安装

yum -y install wget

image.png

从资源网站下载redis安装包压缩包(习惯置于opt目录下)

cd /opt

wget http://download.redis.io/releases/redis-3.2.12.tar.gz

image.png

解压

tar xzvf redis-3.2.12.tar.gz

安装

进入解压后的目录

cd redis-3.2.12

image.png

编译命令

make

image.png

此处提示
/bin/sh: cc: 未找到命令

是因为系统没有安装gcc,安装即可

yum -y install gcc automake autoconf libtool make

重新make

image.png

此处提示致命错误:jemalloc/jemalloc.h:没有那个文件或目录
执行

make MALLOC=libc

完成后,发现src下生成了redis-server,redis-cli 说明成功了

image.png

进入src目录

cd src

image.png

安装redis服务并将安装目录指向/usr/local/redis

make install PREFIX=/usr/local/redis

image.png

image.png

将配置文件/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

image.png

配置reids后台启动

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

vi /usr/local/redis/etc/redis.conf

image.png

配置redis开机自启

vi /etc/rc.local

往/etc/rc.local中添加如下内容,意即开机执行此命令

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

image.png

卸载Redis服务

首先停止redis服务进程

image.png

pkill -f redis

image.png

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

rm -r /usr/local/redis

image.png

编辑/etc/rc.local,去除开机自启

vim /etc/rc.local

将如下语句注释或删除后保存即可

image.png

启动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更改为你想要的密码即可自定义密码登录

image.png

requirepass 123456

开启Redis远程控制

使用如Redis Desktop Manager等redis远程客户端连接linux上的redis,提示如下
image.png

原因:redis指定默认允许访问网段是本机,且拒绝远程访问

开启redis远程访问,编辑/etc/redis.conf

vim /etc/redis.conf

找到bind 127.0.0.1注释掉,解除绑定,同时将protected-mode yes改为protected-mode no

image.png

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

image.png

此时猜想是防火墙的端口未开放,此处有几种方式去检测

在windows宿主机远程测试连接linux服务器的6379端口

telnet ip 端口

这个工具默认在windows是不开启的,需要去开启:控制面板->程序->启用或关闭windows功能>勾上Telnet Client并确认

image.png

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

image.png

服务器命令

lsof -i:端口号

如果有显示则表示端口开启,如果没有则表示未开启

image.png

也可以使用如下命令查看

netstat -aptn |grep -i 端口号

防火墙开启端口6379

firewall-cmd --zone=public --add-port=端口号/tcp --permanent

image.png

重启防火墙

service firewalld restart

查看端口是否开放

lsof -i:6379

image.png

远程连接尝试
**
image.png

如有贻误,还请评论指正