centOS 7下搭建Redis服务器,并使用Java访问操作Redis

1.  什么是redis

             Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:

        字符串类型

        散列类型

        列表类型

        集合类型

        有序集合类型。

2.  redis的应用场景

        缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)

        分布式集群架构中的session分离。

        聊天室的在线好友列表。

        任务队列。(秒杀、抢购、12306等等)

        应用排行榜。

        网站访问统计。

        数据过期处理(可以精确到毫秒)

 

3.  Redis的安装

        redis是C语言开发,建议在linux上运行,本教程使用Centos7.0作为安装环境。安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++

3.1.  版本说明

   本教程使用redis3.2.8版本。3.2.8版本主要增加了redis集群功能。 

3.2.  源码下载

    从官网下载:https://redis.io/

    将redis-3.2.8.tar.gz拷贝到/usr/local下

3.3.  解压源码

    tar -zxvf redis-3.2.8.tar.gz

3.4.  安装到指定目录(这个目录自己决定,如/usr/local/redis)

    cd /usr/local/redis-3.2.8.tar.gz

    make PREFIX=/usr/local/redis install

3.5.  拷贝配置文件到安装目录下

    进入源码目录,里面有一份配置文件 redis.conf,然后将其拷贝到安装路径下

    cd /usr/local/redis

    cp /usr/local/redis-3.2.8/redis.conf  /usr/local/redis/bin

3.6.  安装完后bin目录下的文件列表

      

3.7.  各个文件的作用如下

    

   至此,redis服务器就已经安装完毕。

4.  Redis的启动

4.1.  前端模式启动

    直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法。如下图:

       

4.2.  后端模式启动

    修改redis.conf配置文件, daemonize yes 以后端模式启动。  

    执行如下命令启动redis:

   
   cd /usr/local/redis

   ./bin/redis-server ./bin/redis.conf

   bin/redis-cli

   

     redis默认的端口号为6379,可以在redis.conf中配置。


5.  通过jedis连接redis单机

5.1.  jar包

pom坐标:

   <dependency>

         <groupId>redis.clients</groupId>

         <artifactId>jedis</artifactId>

         <version>2.7.0</version>

      </dependency>

jar包如下:


5.2.  单实例连接

通过创建单实例jedis对象连接redis服务,如下代码:

//单实例连接redis

   @Test

   public void testJedisSingle() {

      Jedis jedis = new Jedis("192.168.93.130", 6379);

      jedis.set("name","daixiaoyong");

      String name = jedis.get("name");

      System.out.println(name);

      jedis.close();

    }

5.3   外部连接不上redis的解决方法

由于linux防火墙默认开启,redis的服务端口6379并不在开放规则之内,所有需要将此端口开放访问。

firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload

5.4.  使用连接池连接

         通过单实例连接redis不能对redis连接进行共享,可以使用连接池对redis连接进行共享,提高资源利用率,使用jedisPool连接redis服务,如下代码:

 

   @Test

   publicvoid pool() {

      JedisPoolConfig config = newJedisPoolConfig();

      //最大连接数

      config.setMaxTotal(30);

      //最大连接空闲数

      config.setMaxIdle(2);      

      JedisPool pool = newJedisPool(config,"192.168.101.3", 6379);

      Jedis jedis = null;

      try {

          jedis = pool.getResource();

          jedis.set("name","lisi");

          String name = jedis.get("name");

          System.out.println(name);

      }catch(Exception ex){

          ex.printStackTrace();

      }finally{

          if(jedis !=null){

             //关闭连接

             jedis.close();

          }

      }   

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值