redis的使用及主从模式

9 篇文章 0 订阅

redis的使用及主从模式

                                        ——Javee

进入redis目录:

编译并安装:make && make install
启动redis:redis-server                                     redis-server redis.conf
进入数据库:redis-cli
关闭数据库:shutdown
退出数据库:exit
连别人的数据库:redis-cli -h 192.168.17.17

再次之前先要修改redis.conf配置文件:

先cp redis.conf redis.conf.cp拷贝一份,以免修改出现问题

69行:bind 0.0.0.0        #所有ip都可以找到redis
88行:protected-mode no    #不需要密码
136行:daemonize yes        #设为守护进程

这样就可以正常使用redis数据库了~~

Java使用redis的一个小栗子:

package com.seecen.redis;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.util.HashMap;
import java.util.Map;

/**
* @Author Javee
* @Date 2019/11/11 14:30
* @Description
*/
public class MyRedis {
    /**
     * 不使用连接池
     * @param ip
     * @param port
     * @return
     */
    public Jedis getJedis(String ip, int port){
        Jedis jedis = new Jedis(ip, port);
        return jedis;
    }

    @Test
    public void testConnect(){
        Jedis jedis = getJedis("192.168.184.17", 6379);
        //jedis.auth("123456");  //密码
        jedis.set("username","admin");
        jedis.close();
    }

    /**
     * 使用连接池
     */
    private static Map<String, JedisPool> maps = new HashMap<>();
    private JedisPool getPool(String ip, int port){
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(10);
        config.setMaxIdle(5);
        config.setMaxWaitMillis(2000);
        config.setTestOnBorrow(true);
        config.setTestOnReturn(true);
        JedisPool pool = new JedisPool(config, ip, port);
        return pool;
    }

    JedisPool pool = null;
    @Before
    public void init(){
        pool = getPool("192.168.184.17", 6379);
    }
    @After
    public void destory(){
        pool.close();
    }

    @Test
    public void testSet(){
        Jedis jedis = pool.getResource();
        jedis.psetex("uname", 9500, "嘉威贼帅");
        jedis.close();
    }
    @Test
    public void testGet(){
        Jedis jedis = pool.getResource();
        String uname = jedis.get("uname");
        System.out.println(uname);
        jedis.close();
    }
}

接下来配置主从模式+哨兵:

修改redis.conf:

171行:logfile "/usr/local/redis/6379.log"
235行:stop-writes-on-bgsave-error yes
241:rdbcompression yes
250:rdbchecksum yes
263:dir "/usr/local/redis/"
287:replicaof 192.168.184.17 6379    #仅随从配置(主人IP)
325:replica-read-only yes
########应该就这些改动的地方,这里记不太清楚了,可以在网上找找其他人的笔记或资料

修改sentinel.conf(第一次修改前先备份一下,良好的习惯):仅哨兵配置

16:bind 0.0.0.0
17:protected-mode no
36:logfile "/usr/local/redis/sentinel.log"
123:sentinel monitor mymaster 192.168.184.17 6379 2
148:sentinel down-after-milliseconds mymaster 10000

配置文件修改好了,之后就是启动:

redis-server redis.conf
redis-sentinel sentinel.conf

OK~~

为了以放万一,我把修改的配置文件上传了,有兴趣的小伙伴可以下载试试~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
主从模式的部署可以按照以下步骤进行: 1. 首先,搭建Redis主数据库(即Master)。可以参考\[2\]中提供的链接,按照指导进行配置。在Redis的配置文件redis.conf中,需要注意两个参数: - `bind`参数用于指定监听的网卡地址,需要设置为外部可访问的IP地址,以便从服务器(Slave)能够连接到主服务器(Master)。 - `requirepass`参数用于设置访问主服务器时的密码,以增加安全性。 2. 接下来,搭建Redis从数据库(即Slave)。可以通过复制主服务器的配置文件,并进行相应的修改。在从服务器的配置文件中,需要设置以下参数: - `slaveof`参数用于指定主服务器的IP地址和端口号,从服务器将会连接到该主服务器。 - `masterauth`参数用于设置从服务器连接主服务器时的密码,与主服务器的密码保持一致。 3. 启动主服务器和从服务器。首先启动主服务器,然后再启动从服务器。从服务器会自动连接到主服务器,并进行数据同步。 通过以上步骤,就可以成功部署Redis主从模式。在主从模式中,主服务器可以执行读写功能,而从服务器只能执行读功能。当主服务器的数据发生变化时,会自动同步到从服务器。如果从服务器挂掉,重新启动后会从主服务器同步数据。如果主服务器挂掉,从服务器将无法执行写操作,直到主服务器重新启动并同步数据后,才能提供写服务。\[3\] #### 引用[.reference_title] - *1* [Redis主从模式,哨兵模式和集群搭建](https://blog.csdn.net/lkx021699/article/details/124490804)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [redis搭建主从模式主从复制原理)](https://blog.csdn.net/MssGuo/article/details/127161190)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值