秒懂Redis:安装 Redis

Redis 安装:

  1. 下载 Redis:
    wget http://download.redis.io/releases/redis-3.0.4.tar.gz
  2. 解压源码:
    tar -zxvf redis-4.0.14.tar.gz  
  3. 对解压的目录进行编译:
    make
  4. 安装到指定目录:
    make PREFIX=/usr/local/redis install
  5. redis.conf:
    1. redis.conf 是 redis的配置文件,redis.conf 在 redis 源码目录
    2. 注意修改 port 作为 redis 进程的端口,port 默认 6379
  6. 拷贝配置文件到安装目录下:
    1. 进入源码目录,里面有一个 redis.conf 文件,然后将其拷贝到安装目录下
      cd  /usr/local/redis
      cp /usr/local/redis-4.0.14/redis.conf  /usr/local/redis/bin
  7. 设置 Redis 可远程访问(3.0 默认允许,4.0需要手动设置):
    vim  redis.conf
    bign 0.0.0.0

Redis 启动:

  1. 前端模式启动:
    1. 直接运行:
      bin/redis-server
    2. 缺点:ssh 命令窗口关闭后 redis-server 程序结束,不推荐此方法
  2. 后端模式启动:
    1. 修改 redis.conf 配置文件,以后端模式启动:
    2. 执行如下命令启动
      bin/redis-server
    3. redis 默认使用 6379 端口
  3. 启动多个 redis 进程:
    1. 方法1:
      1. 启动时指定端口,可在一台服务器启动多个 redis 进程
        cd /usr/local/redis
        ./bin/redis-server  ./redis.conf  --port 6380
    2. 方法2:
      1. 创建多个 redis 目录,以端口号命名,将 redis 的安装文件 bin 和 conf 中文件拷贝到这个两个目录
      2. 修改 redis.conf 中的端口
      3. 启动各目录下的 redis-server 程序:
        cd 6379
        ./redis-server ./redis.conf
        cd 6380
        ./redis-server ./redis.conf
  4. redis 停止:
    1. 强行终止 redis 进程可能会导致 redis 持久化数据丢失。正确停止 redis 方式应该是向 redis 服务器发送 shutdown 命令:
      cd /usr/local/redis
      ./bin/redis-cli shutdown save
      #连接本机 6379 端口的 redis 服务执行 shutdown 停止该服务
    2. save:在停止 redis 服务之前将所有的数据持久化保存
    3. 停止指定端口 redis 服务:
      cd /usr/local/redis
      ./bin/redis-cli -p 端口号 shutdown save
  5. 连接 redis 服务:
    1. 执行 redis-cli 连接到 redis 服务端:
  6. 向服务器发送命令:
    1. ping:redis 提供了 PING 命令来测试客户端与 redis 的连接是否正常,如果正常会收到 PONG
    2. set / get 方法:
      1. 使用 set 和 get 可以向 redis 设置数据、获取数据
  7. Redis 多数据库:
    1. redis 实例:
      1. 一个 redis 进程就是一个 redis 实例,一台服务器可以同时有多个 redis 实例,不同的 redis 实例提供不同的服务端口对外提供服务,每个 redis 实例之间相互影响
      2. 每个redis 实例都包括自己的数据库,数据库中可以存储自己的数据
    2. 多数据库测试:
      1. 一个 redis 实例最多可提供 16 个数据库,下标从 0 到 15
      2. 客户默认连接 0 号数据库
      3. 也可以通过 select 选择连接哪个数据库,如连接 1 号数据库:
      4. 默认设置的 name 在 1 号库是查不到的
      5. 当选择一个不存在的数据库就会报错
      6. 注意:redis 不支持修改数据库名称,只能通过数字来选择数据库
    3. 注意(重点)
      1. 在 0 号数据库存储数据,在 1 号数据库执行清空命令却把 0 号数据库给清空
      2. 建议:不同的应用系统使用不同的 redis 实例而不是使用一个 redis 实例下的不同数据库

Jedis:

  1. 介绍:
    1. Redis 不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如 Java、C、C#、C++、php、Node.js、Go 等
    2. 在官方网站里有一些 Java 的客户端,有 Jedis、ZRedisson、Jredis、JDBC-Redis 等,其中官方推荐使用 Jedis 和 Redisson
    3. 在企业中用的最多的就是 Jedis
    4. Jedis 同样也是托管在 GitHub 上,地址:GitHub - redis/jedis: Redis Java client
  2. 通过 Jedis  连接 redis 单机:
    1. pom 依赖:
      <dependency>
          <groupId>redis.clients</groupId>
          <artifactId>jedis</artifactId>
          <version>2.9.0</version>
      </dependency>
    2. 单实例 jedis 对象连接 redis 服务:
      //单实例连接 redis
      @Test
      public void testJedisSingle(){
          Jedis jedis = new Jedis("62.234.35.76",6379);
          jedis.set("name","张三");
          System.out.println(jedis.get("name"));
          jedis.close();
      }
    3. 使用连接池连接:
      1. 通过单实例连接 redis 不能对 redis 连接进行共享,可以使用连接池对 redis 连接进行共享,提高资源利用率,使用 jedisPool 连接 redis:
        //使用连接池连接
        @Test
        public void pool(){
            JedisPoolConfig config = new JedisPoolConfig();
            //最大连接数
            config.setMaxTotal(30);
            //最大连接空闲数
            config.setMaxIdle(2);
        
            JedisPool pool = new JedisPool(config,"62.234.35.76",6379);
            Jedis jedis = null;
        
            try {
                jedis = pool.getResource();
                jedis.set("name","lisi");
                System.out.println(jedis.get("name"));
            }catch (Exception e){
                e.printStackTrace();
            }finally {
                if(jedis != null)  jedis.close();
            }
        
        
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值