【Redis】练习题

import redis.clients.jedis.BinaryClient;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class test01 {

    public static void main(String[] args) {

        //0.设置数据库连接池
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        //设置连接池的最大数量
        jedisPoolConfig.setMaxTotal(50);
        //设置最大空闲数量
        jedisPoolConfig.setMaxIdle(10);
        //设置最小的空闲的数量
        jedisPoolConfig.setMinIdle(5);
        //连接超时时间(最大等待的时间)
        jedisPoolConfig.setMaxWaitMillis(30000);

        //1.获取Redis连接池
        JedisPool jedisPool = new JedisPool("node01", 6379);

        //2.获取Redis链接对象
        Jedis jedis = jedisPool.getResource();

        //3.通过对象调用API
        //清空
        jedis.flushAll();
        
//        使用List实现以下功能(javaAPI)
//练习:
        System.out.println("---------------第一题--------------");
//	1、创建两个list  名字分别为ltest1    ltest2
//	2、Ltest1 从左到右为1 2 3 4 5 6 7 8 9,ltest2 从左到右为 f e d c b a
        jedis.lpush("ltest1","1","2","3","4","5","6","7","8","9");
        jedis.lpush("ltest2","f","e","d","c","b","a");
//	3、在Ltest1的3 左边插入3333
        jedis.linsert("ltest1",BinaryClient.LIST_POSITION.BEFORE,"3","3333");
//	4、在6右边插入6666
        jedis.linsert("ltest2",BinaryClient.LIST_POSITION.AFTER,"6","6666");
//	5、通过索引查询Ltest2 索引为3的数据
        String data = jedis.lindex("ltest2", 3);
        System.out.println("查询Ltest2 索引为3的数据是:"+data);
//	6、将ltest2的e 修改为EEE
        jedis.lset("ltest2",1,"EEE");
//	7、只保留ltest2的EEE d c b
        jedis.ltrim("ltest2",1,4);
//	8、移除ltest1右边一个数据并插入ltest2的左边
        jedis.rpoplpush("ltest1","ltest2");

        //查看五个set集合
        System.out.println("ltest1:"+jedis.lrange("ltest1", 0, -1));
        System.out.println("ltest2:"+jedis.lrange("ltest2", 0, -1));


//使用Set实现以下功能(javaAPI)
        System.out.println("---------------第二题--------------");
//练习:添加set 集合 setdemo1(aa,bb,cc,dd,ee,ff)    setdemo2(11,22,33,dd,ee,ff)
        jedis.sadd("setdemo1","aa","bb","cc","dd","ee","ff");
        jedis.sadd("setdemo2","11","22","33","dd","ee","ff");
//	将两个集合的交集写入setdemo3
        jedis.sinterstore("setdemo3","setdemo1","setdemo2");
//	将两个集合的并集写入setdemo4
        jedis.sunionstore("setdemo4","setdemo1","setdemo2");
//	将setdemo2集合与setdemo1集合的差集写入setdemo5
        jedis.sdiffstore("setdemo5","setdemo1","setdemo2");
//	将setdemo2内的11 移动到setdemo1内
        jedis.smove("setdemo2","setdemo1","11");
//	删除setdemo1内的bb
        jedis.srem("setdemo1","bb");
        System.out.println("setdemo1:"+jedis.smembers("setdemo1"));
        System.out.println("setdemo2:"+jedis.smembers("setdemo2"));
        System.out.println("setdemo3:"+jedis.smembers("setdemo3"));
        System.out.println("setdemo4:"+jedis.smembers("setdemo4"));
        System.out.println("setdemo5:"+jedis.smembers("setdemo5"));

    }

}

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为你介绍一下关于 Redis 和 RabbitMQ 的基本概念和用法,帮助你进行练习Redis 是一种开源的内存数据结构存储系统,它支持多种数据类型,包括字符串、哈希、列表、集合和有序集合等。Redis 可以用于缓存、消息队列、发布/订阅等多种场景,具有高性能、可扩展性和稳定性等优点。 RabbitMQ 是一个基于 AMQP(Advanced Message Queuing Protocol)协议的消息队列系统,它支持消息的发布/订阅、点对点通信等多种模式。RabbitMQ 可以用于任务分发、异步处理、日志处理等多种场景,具有高可用性、高可靠性和可扩展性等优点。 在实际应用中,Redis 和 RabbitMQ 经常被用来结合使用,以实现更高效和可靠的数据处理和消息传递。 下面是一些关于 Redis 和 RabbitMQ 的练习题: 1. 使用 Redis 实现一个简单的计数器,每次请求都能够自增1,并返回当前计数器的值。 2. 使用 RabbitMQ 实现一个简单的消息队列,其中生产者每隔一段时间会向队列中发送一个消息,消费者会不断地从队列中取出消息并进行处理。 3. 使用 Redis 和 RabbitMQ 结合使用实现一个简单的任务分发系统,其中生产者将任务数据存储到 Redis 中,消费者从 Redis 中取出任务数据并进行处理,处理完成后将结果发送到 RabbitMQ 中,最后由一个结果处理器进行统一的结果汇总和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值