初识中间件Redis

一、Redis

        1、redis是什么,干什么用的?

redis是一款高速缓存数据库,一种key-value形式的存储系统。非关系型数据库。

        2、特点

                以内存作为存储数据,读写会很快,但是内存中的数据断电会丢失,为了防止这种情况redis作了两种持久化实现方式:RDB和AOF( 就是通过两种方法把数据固定到硬盘了。具体后面文章)

当然也能把数据从磁盘上读出来

Redis支持主从模式,可以配置集群,更利于支撑大型的项目。

        3、redis的用处

                ①.用作缓存。因为redis数据会放入内存,读写速度快,所以最大用处即是用作缓存。比如一些热点事件放入redis而不放入数据库,每次访问的时候先访问缓存redis,缓存中能找到就不访问内存了,就像操作系统中内存管理中的快表那样,减轻数据库压力,提高查询效率

                ②.点赞数,访问量也可以放redis

                ③.用于鉴权。cookie和session

                        鉴权:可以简单说是:用户登录成功后,给对应的用户名设置对应的key和value放redis里,下次登录的时候先进行鉴权,如果说key存在就说明已经登录过了,如果key不存在说明鉴权失败,就要去重新登录。还有就是比如购物车,一个用户登陆了,点击购物车,他所能看到的只能是他自己得购物车内容,不能看到别人的,这就可以用cookie做标记,各个用户的cookie不同。写Servlet项目中都会写到。

        4、redis安装        

              (1)首先,  安装redis需要有java环境,需要安装jdk并且配置好jdk环境比变量。以下两种方案安装jdk     。

                方案一:yum安装。 yun install java-devel

                方案二:手动安装。 

                        下载jdk-1.8,并解压。

                               修改profile里的环境变量 。进入   vim /etc/profile       

                                把这些添加进去

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

                        退出vim,使环境变量生效  source /etc/profile。这就算安装完毕jdk。java -version 和javac -version 可查看是否安装成功。

                (2)java环境安装好就能安装redis了。(单机版安装流程如下)

                        先进入要用的文件件可以新建一个。

                        用wegt下载redis压缩包  wget http://download.redis.io/releases/redis-6.0.8.tar.gz

                        并解压。 tar -zxvf redis-6.0.8.tar.gz

                        这个版本的redis需要用升级之后的gcc,所以先升级gcc,也是yum等命令          

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
gcc -v

                        升级成功之后  在redis目录下 执行编译  命令  make,编译成功即可。这时候大几率启动服务启动不了,因为可能保护模式,可能防火墙,也可能服务器端口不允许访问。

                        A、    服务器端口要去服务器安全组设置,添加规则允许6379可访问

                        B、    至于防火墙     先查看防火墙状态

firewall-cmd --state

。                        我的防火墙直接没开。对于防火墙开了的情况可以参考以下命令

取自Linux中防火墙的相关操作命令  里面还有另一种防火墙的命令。

#查看systemctl status firewalld
#开启防火墙systemctl start firewalld.service#重启防火墙systemctl restart firewalld.service#查看firewall防火墙的状态firewall-cmd --state#查看防火墙开放端口规则firewall-cmd --list-port#查看80端口是否开启firewall-cmd --query-port=80/tcp#开放80端口firewall-cmd --permanent --add-port=80/tcp #(–permanent永久生效,没有此参数重启后就失效)#加载生效开放的端口firewall-cmd --reload#查询指定端口80是否开放firewall-cmd --query-port=80/tcp# 移除端口firewall-cmd --permanent --remove-port=8080/tcp

                     C、     要解决启动问题就要修改配置文件。修改都在redis.conf这个文件,大致三步:去掉保护模式,修改端口号,添加密码

                        #去掉保护模式,注释掉bind:127.0.0.1,再将protected-mode 改为no

                        #修改端口号 将port设置为要设置的。这里因为Tomcat端口是8080,redis默认端口也是8080

                        #设置密码 requirepass 密码。这里要添加密码,否则服务器很容易被黑。我的就被黑了,无法连接上服务器,只能重装系统了。

            保存退出,返回到src目录。以redis.conf文件启动redis 

                                ./redis-server ../redis.conf 

                   运行   ./redis.cli 启动客户端。

                                lsof -i:6379  查看一下是否有进程在6379端口启动即可。

                             

你可能感兴趣的:(java,redis)