• redis学习之安装配置


    在当前的开发环境中,学习分布式缓存是开发里面的重要环节之一。

    最近学习了一下redis,虽然网络上一大把教程和笔记,但是每个人的学习经历不一样,好记性不如烂笔头,在这里记录一下学习内容,就算给自己加深一些印象吧。

    准备工作

    1、redis下载

    redis需要到官网上下载redis相关的压缩包,根据自己的需要选择相应的版本。我这里学习用到的是现在这个时间的最近的版本,redis5.0.3版本,linux系统是centos7

    新版本里面的部分命令和老版本的命令不一致,譬如redis的集群 ,redis主从复制配置等,在配置文件中有少许变动

    废话太多,下面上redis安装步骤

     2、上传到centos服务器的 /usr/local/src目录下,解压

    tar zxvf redis-5.0.3.tar.gz

    #进入redis目录

    cd redis-5.0.3

    #编译

    make

    #编译完成之后,指定安装目录,我这里redis安装到/usr/local/redis目录下,这里指定目录的时候不需要考虑目录是否存在,不存在的话安装的过程中会主动创建

    make PREFIX=/usr/local/redis install

    3、安装完成之后, 可以在/usr/local路径下找到redis目录,进入会看到一个bin目录,该目录里面的结构如下图

     

    到这里,redis的安装也差不多了,接下来就是redis的相关配置

    copy一份redis.conf到redis安装目录下,方便后期自定义配置

    cp /usr/local/src/redis-5.0.3/redis.conf /usr/local/redis/

    redis相关配置就是redis.conf文件

     redis配置文件修改属性值,设置为后台启动,这样不会阻塞进程,在当前回话窗口可以继续操作其他

    daemonize yes

    测试一下redis默认配置启动

    #启动服务器 
    ./bin/redis-server ./redis.conf
    #进入redis客户端,默认端口,6379,这里省略了默认端口输入 -p 6379
    .
    /bin/redis-cli

      进入客户端

    测试输入ping 返回pong则表示redis安装 启动成功!

    接下来就是redis的相关配置,

    需要注意的地方:

    #配置访问ip,默认是127.0.0.1,本地访问,但是在项目中想要远程访问就需要将地址改成0.0.0.0
    bind 0.0.0.0
    
    #缓存方式配置
    #启用rdb缓存方式,默认方式rdb
    rdbchecksum yes
    #rdb名称
    dbfilename dump.rdb
    #rdb的目录
    dir ./
    #aof方式,默认不启用no,如果启用设置yes
    appendonly no
    #aof名称
    appendfilename "appendonly.aof"
    
    #redis密码
    requirepass foobared
    #设置redis端口,默认6379
    port 6379 #主从复制配置 #配置redis主从关系,通常情况下一个主库需要至少两个从库,如果设置主从复制关系,则需配置主库ip和端口 #replicaof
    <masterip> <masterport> #如果主库redis设置了密码,这需要设置 # masterauth <master-password>

    配置方面就这些,其实也挺简单的,但是不会的时候就觉得挺难的

     配置完成之后,需要在服务器防火墙中添加redis对应的端口或者关闭防火墙才可以远程连接,不然java客户端Jedis无法连接

    centos7 添加防火墙的方法:

    firewall-cmd --zone=public --add-port=7799/tcp --permanent

      firewall-cmd --reload

    ==============================================

    java代码操作redis

    在java项目中添加redis客户端jar包,maven项目添加依赖

     <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
                <version>2.9.0</version>
            </dependency>

    java测试代码一

    public class RedisTest {
        public static void main(String[] args) {
            //jedis连接redis数据库,host String类型,redis的ip,port int类型
            Jedis jedis = new Jedis("192.168.1.10", 7799);
            //password redis.conf中设置密码
            jedis.auth("dayu");
            Set<String> keys = jedis.keys("*");
            for (String key : keys) {
                System.out.println(key);
            // ....
            // redis相关的命令在jedis中都可以操作
            }
        }
    }

    java测试代码二,连接池获取jedis信息

     public static void test2() {
            //配置jedis连接池信息
            JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
            //...其他配置,这里的配置只是测试使用,并没有做过多思考
            jedisPoolConfig.setMaxIdle(20);
            jedisPoolConfig.setMinIdle(5);
            jedisPoolConfig.setMaxTotal(1000);
            jedisPoolConfig.setBlockWhenExhausted(true);
    
            //装配到JedisPool中
            JedisPool pool = new JedisPool(jedisPoolConfig, "192.168.1.10",7799);
            //从连接池中获取jedis
            Jedis jedis = pool.getResource();
            //如果redis配置了密码,这里需要设置连接密码信息
            jedis.auth("dayu");
            //redis的相关操作
            jedis.set("city", "nanjing");
            System.out.println(jedis.get("city"));
        }

    到这里redis的单机版就算是告一段落了,后面再记录集群版,多机主从配置的学习记录

  • 相关阅读:
    MySQL 练习题
    MySQL 增删查改
    HTML显示与隐藏
    360布局
    div布局
    HTML练习2
    HTML练习

    if语句的用法及其案例
    输入输出,数据类型与运算符
  • 原文地址:https://www.cnblogs.com/dayu007/p/10176056.html
Copyright © 2020-2023  润新知