Redis教程

Redis学习

本文主要是介绍Redis学习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Redis简介

Redis 是一个基于 key-value 形式进行存储的内存型数据库。
优点:效率高

Reids 是一个 NoSql 数据库。
Redis 默认有 16384 solts(槽),每个槽可以存储多个 hash 值。

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

Redis持久化策略

RDB

RDB(Redis DataBase),默认的持久化策略,每隔一定时间后把内存中数据持久化到dump.rdb 文件中。

缺点: 数据过于集中,可能导致最后的数据没有持久化到 dump.rdb 中。

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

AOF

AOF(Append Only File),监听 Redis 的日志文件,监听如果发现执行了修改,删除, 新增命令。立即根据这条命令把数据持久化。

缺点: 效率降低。

数据类型

redis是一种高级的key:value存储系统,其中value支持五种数据类型:

1.字符串(strings)

2.字符串列表(lists)

3.字符串集合(sets)

4.有序字符串集合(sorted sets)

5.哈希(hashes)

Jedis

Jedis 是 Redis 客户端工具 jar (使用jedis连接Redis,就像使用JDBC来连接关系型数据库)

使用非集群版示例代码

@Test
    public void testInsert(){
        Jedis jedis = new Jedis("192.168.141.141",6379);
        //增
//        String result = jedis.set("address", "太阳系");
        //查
//        String result = jedis.get("address");
        //改
//        String result = jedis.set("address","地球");
        //删
        Long index = jedis.del("address");  
    }

Jedis 集群

集群的概念: 多个业务单元协同工作组成的整体称为集群。每个业务单元都是相同的

当集群中业务单元中超过或等于 1/2 个 down 掉时整个集群不可用。 建议使用奇数个,整体 down 机率小 。

一主一备模式

给每个业务单元创建一个备份业务单元.。原来的业务单元叫 (master),后产生的叫做(slave) (再次减少集群整体down掉的机率)(这个一主一备虽然是希望备份等待主down掉时使用,但是你会发现不管down不down掉,当主用的频率比较高的时候,备份的也会生效)

集群和伪集群

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

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

使用 Jedis 访问 Reids 集群(伪集群)

@Test
    public void testInsert(){
        Set<HostAndPort> set = new HashSet<>();
        set.add(new HostAndPort("192.168.141.141", 7001));
        set.add(new HostAndPort("192.168.141.141", 7002));
        set.add(new HostAndPort("192.168.141.141", 7003));
        set.add(new HostAndPort("192.168.141.141", 7004));
        set.add(new HostAndPort("192.168.141.141", 7005));
        set.add(new HostAndPort("192.168.141.141", 7006));
        JedisCluster cluster = new JedisCluster(set);
        
        String result = cluster.get("age");
        System.out.println(result);
    }

这篇关于Redis学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!