redis安装和集成,按照步骤你就会成功

redis安装和集成的简单示例,记录一下过程。可能的问题在最后。

一、在liunx服务器上安装redis

      1.下载压缩包

      (1)百度搜索redis,找到官网,进去然后Download it,你会得到一个压缩包。把它传到liunx上。

      (2)在liunx服务器上使用wget命令,下载资源,如下:

           点进去之后往下滚,找到   

      把wget复制下来,作为linux命令运行,可以直接下载到服务器中。

   2.解压安装

     运行 tar -zvxf  你的压缩包名 ,然后得到一个文件夹,比如得到了redis-6.0.9。然后我运行了mv redis-6.0.9 /usr/local/redis 将文件夹移动到了/usr/local/redis中。

     cd /usr/local/redis,到这样一个目录里面

   运行 make命令,这是编译,将.c文件编译为.o文件。如果想再次编译 请先清除,运行make clean命令。 完成之后运行make PREFIX=/usr/local/redis install命令。

   这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。PREFIX后面的/usr/local/redis是安装路径,比如我们现在就是指定了redis必须存放在/usr/local/redis目录。

  假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目 录,库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。

  这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。

  成功结果:

 好的,到这里,redis已经安装成功了。

3.启动

  启动的命令:./bin/redis-server ./redis.conf   这个命令的意思是使用redis.conf配置启动redis-server服务,所以要找到redis-server和redis.conf,我的是在安装目录/usr/local/redis中,redis-server在bin里面,当然你也可以把 redis.conf移到和 server在一起,这样就好找了。redis.conf配置文件允许自定义多个,通过启动时指定读取哪个即可。

   但是这样启动你会发现一个问题,这是显示启动,你退出,或者比如ctrl c 就会关闭redis,但是我们需要让一直运行,并且能够远程连接,所以我们要改一下配置文件redis.conf。

 4.改配置文件

      vim进入redis.conf ,输入/ 进行搜索,比如:可以快速找到字符串,按i或者insert键进行编辑。编辑完按esc键退出编辑,输入 :wq 保存退出。

   我们需要改这样几个地方,<1> daemonize no修改为daemonize yes,<2> protected-mode改为no,<3> 将requirepass注释打开,并在后边写个密码比如 wy123 ,<4> 注释掉bind,解释如下:

   改完重启 首先杀掉进程,如果你启动过redis,先使用ps -ef 找到线程,比如

   下面那个 6397 就是了,执行kill -9 21008 就可以结束进程。然后执行启动的redis的命令。再启动时你就发现没有那些图画了,再ps查询,发现redis已经启动,后台启动成功。

5.链接测试

  进入到bin目录下,可以看到一个

  这个是客户端工具,使用它进行链接,命令是:./redis-cli -h 你服务器的ip -p 6379 回车,  然后输入auth 你的密码  ok就连上了。

 

二、spring集成jedis

  我们已经安装完成了,现在我们在项目中使用redis,需要一个客户端工具,jedis是官方指定的java链接工具,非常简单。

1.首先导入jar包

   你是下载jar包还是引入maven都可以,百度搜索maven,然后搜jedis 选个版本,比如我选的2.9.2 。

    完成之后,写个测试,如下:

测试成功后,说明jedis可用,但是你发现一个问题,就是最后每次都要close,好麻烦,而且容易忘记,每次还要输入密码之类的,当然可用抽取,但是也麻烦。怎么办呢,数据库都是有链接池的对吧,nosql数据库也有的。

2.链接池commons-pool2

Apache的通用对象池工具common-pool作为资源的管理工具,导入common-pool2的jar包,比如我的是commons-pool2-2.4.2.jar。完成后就可以使用了。

网上有很多介绍如何使用JedisPool jedisPool=new JedisPool(poolConfig,"127.0.0.1",6379);这种方式的示例,但是我们真实开发都是ssm这种带框架的项目,所以要和spring或者springboot集成,下面写一个spring集成的配置。

1.创建redis.properties文件,内容如下:

#最大分配的对象数
redis.pool.maxActive=200

#最大能够保持idel状态的对象数
redis.pool.maxIdle=50

redis.pool.minIdle=10

redis.pool.maxWaitMillis=20000

#当池内没有返回对象时,最大等待时间
redis.pool.maxWait=300

redis.host = 49.233.30.82

redis.port = 6379

redis.timeout=30000

redis.password =wy123

redis.database = 0

 

  2.创建spring-jedis.xml 文件 ,内容:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-4.3.xsd"
       default-lazy-init="false">

    <!--Jedis连接池的相关配置-->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <!--新版是maxTotal,旧版是maxActive-->
        <property name="maxTotal">
            <value>${redis.pool.maxActive}</value>
        </property>
        <property name="maxIdle">
            <value>${redis.pool.maxIdle}</value>
        </property>
        <property name="testOnBorrow" value="true"/>
        <property name="testOnReturn" value="true"/>
    </bean>

    <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
        <constructor-arg name="poolConfig" ref="jedisPoolConfig" />
        <constructor-arg name="host" value="${redis.host}" />
        <constructor-arg name="port" value="${redis.port}" type="int" />
        <constructor-arg name="timeout" value="${redis.timeout}" type="int" />
        <constructor-arg name="password" value="${redis.password}" />
        <constructor-arg name="database" value="${redis.database}" type="int" />
    </bean>


</beans>

 这就是单机版的配置,就是只有一个redis服务器的,没有集群,集群的网上也有狠多,感兴趣的可以自行百度。

3.把这两个文件引入到spring的配置文件里

这个在proerties引入之后,否则它里面的配置就找不到了。

全部放到classpath下,就是和spring同一级目录。

然后启动项目,写测试代码如下:

我们在最开始用jedis存了一个test,值是123,如果拿到了123,说明我们成功了。

 

注意事项:

1.安装redis时候可能会报一堆erro,原因是redis需要gcc支持,在linux上安装gcc即可,命令:

yum -y install gcc
yum -y install gcc-c++ 
yum install make

如果还是报一样的错,说明gcc版本过低,需要升级,我的升级到9就可以了。

2.在使用jedis连接池的时候可能会报错,原因是common-pool2的版本问题,有些版本过高与jdk不符,启动时候回有版本报错,换一下版本就好了。

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值