Redis集群

Redis简介

Redis 安装

Redis 常用命令

Jedis

Redis 集群

  • Redis 简介
  1. Redis解释:Redis 是一个基于key-value形式进行存储的内存型数据库.

1.1 数据存储方式为key-value

1.2 数据存储在内存中.

1.2.1 优点:效率高.理论值:每秒10K数据读取.

1.3 定位:数据库软件.

1.3.1 作用:存储数据.

  1. Reids 是一个NoSql 数据库.

2.1 字面理解: 不使用SQL命令操作数据库软件.

2.2 NoSQL : 英文全称 Not Only SQL ,表示在应用程序开发时,不是必须使用关系型数据库,可以使用NoSQl替代关系型数据库的部分功能.

2.3 目前NoSQL不能完全替代关系型数据库.使用关系型数据库结合NoSQl数据库进行完成项目

2.3.1 当数据比较复杂时不适用于NoSQL数据库

2.3.2 关系型数据库依然做为数据存储的主要软件.

2.3.3 NoSQL数据库当作缓存工具来使用.

2.3.3.1 把某些使用频率较高的内容不仅仅存储到关系型数据库中还存储到NoSQL数据中

2.3.3.2 考虑到: NoSQL和关系型数据库数据同步的问题.

 

a5045f79d0b44e71b46375d6df7c948f.pnguploading.4e448015.gif转存失败重新上传取消

 

 

 

  1. Redis 持久化策略

3.1 rdb

3.1.1 默认的持久化策略.

3.1.2 每隔一定时间后把内存中数据持久化到dump.rdb文件中.

3.1.3 缺点:

3.1.3.1 数据过于集中.

3.1.3.2 可能导致最后的数据没有持久化到dump.rdb中

3.1.3.2.1 解决办法:使用命令:SAVE 或BGSAVE手动持久化.

3.2 aof

3.2.1 监听Redis的日志文件,监听如果发现执行了修改,删除,新增命令.立即根据这条命令把数据持久化.

3.2.2 缺点:

3.2.2.1 效率降低.

  • Redis 常用命令
  1. 命令手册网址

http://doc.redisfans.com/

  1. Redis数据类型

2.1 String

2.2 Hash

2.3 List

2.4 Set

2.5 SortedSet 有序集合

  • Redis 几个常用概念
  1. Redis 默认有16384 solts(槽),每个槽可以存储多个hash值.
  2. Redis 默认不需要密码:

2.1 注释去掉,设置自己的密码

  1. 设置密码后需要通过

3.1 -h 主机ip

3.2 -p 端口

3.3 -a 密码

./redis-cli -h 192.168.139.132 -p 6379 -a smallming

四 . Jedis

  1. Jedis 是Redis 客户端工具jar
  2. 使用非集群版示例代码

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

      // 新增或修改

      // String result = jedis.set("address", "海淀");

      // 查询

      // String result1 = jedis.get("address");

      // 删除

      // Long index = jedis.del("address");

 

  • Junit 4
  1. 单元测试插件.
  2. 使用Junit主要目的

2.1 可以不用编写main方法

  1. 要求:

3.1 方法必须是public void 且没有参数

3.2 当前项目不要有Test否则@Test引用自己Test类

  1. 实现步骤:(Maven)

4.1 在pom.xml中依赖junit4

      <dependency>

         <groupId>junit</groupId>

         <artifactId>junit</artifactId>

         <version>4.12</version>

      </dependency>

4.2 在需要测试的方法上添加@Test

4.2.1 @Before 在@Test之前执行

4.2.2 @After 在@Test之后执行.

4.2.3 如果有多个@Test 每个@Test前后都会执行@Before和@After

@Test

   public void testInsert() {

  • Jedis 集群
  1. 集群的概念:

1.1 多个业务单元协同工作组成的整体称为集群.

1.1.1 每个业务单元都是相同的.

  1. 当集群中业务单元中超过或等于1/2个down掉时整个集群不可用.

2.1 建议使用奇数个,整体down机率小

  1. 一主一备模式 

3.1 给每个业务单元创建一个备份业务单元. 原来的业务单元(master)后产生的叫做(slave)

  1. 集群和伪集群

4.1 集群: 每个业务单元都安装到单独的服务器上

4.2 伪集群: 所有业务单元都安装到同一个服务器上,通过端口区分不同的业务单元.

  • 使用Jedis访问Reids集群

Set<HostAndPort> set = new HashSet<>();

      set.add(new HostAndPort("192.168.139.132", 7001));

      set.add(new HostAndPort("192.168.139.132", 7002));

      set.add(new HostAndPort("192.168.139.132", 7003));

      set.add(new HostAndPort("192.168.139.132", 7004));

      set.add(new HostAndPort("192.168.139.132", 7005));

      set.add(new HostAndPort("192.168.139.132", 7006));

      JedisCluster cluster = new JedisCluster(set);

     

      String result = cluster.get("a");

      System.out.println(result);

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值