深入实践Spring Boot2.2.3 Redis测试

2.2.3 Redis测试

如果还没有安装Redis服务器,可以参照本书附录C提供的方法安装,然后在工程的配置文件application.yml中配置连接Redis服务器等参数,如代码清单2-12所示。其中host和port分别表示Redis数据库服务器的IP地址和开放端口,database可以不用指定,由Redis根据存储情况自动选定(注:测试时这些配置是集成在一个配置类中实现的)。

代码清单2-12 Redis配置

spring:

    redis:

    # database: 1

        host: 192.168.1.214

        port: 6379

        pool:

            max-idle: 8

            min-idle: 0

            max-active: 8

            max-wait: -1

现在编写一个JUint测试程序,来演示如何在Redis服务器中存取数据,如代码清单2-13所示。测试程序创建一个部门对象并将其命名为“开发部”,创建一个角色对象并把它命名为admin,创建一个用户对象并把它命名为user,同时设定这个用户属于“开发部”,并把admin这个角色分配给这个用户。接着测试程序使用类名等参数生成一个key,并使用这个key清空原来的数据,然后用这个key存储现在这个用户的数据,最后使用这个key查询用户,并将查到的信息打印出来。

代码清单2-13 Redis测试程序

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(classes = {RedisConfig.class, UserRedis.class})

public class RedisTest {

    private static Logger logger = LoggerFactory.getLogger(RedisTest.class);

 

    @Autowired

    UserRedis userRedis;

 

    @Before

    public void setup(){

        Deparment deparment = new Deparment();

        deparment.setName("开发部");

 

        Role role = new Role();

        role.setName("admin");

 

        User user = new User();

        user.setName("user");

        user.setCreatedate(new Date());

        user.setDeparment(deparment);

 

        List<Role> roles = new ArrayList<>();

        roles.add(role);

 

        user.setRoles(roles);

 

        userRedis.delete(this.getClass().getName()+":userByname:"+user.getName());

        userRedis.add(this.getClass().getName()+":userByname:"+user.getName(), 10L, user);

 

    }

 

    @Test

    public void get(){

        User user = userRedis.get(this.getClass().getName()+":userByname:

user");

        Assert.notNull(user);

        logger.info("======user====== name:{}, deparment:{}, role:{}",

            user.getName(), user.getDeparment().getName(), user.getRoles().get(0).

getName());

    }

}

要运行这个测试程序,可以在IDEA的Run/Debug Conf?iguration配置中增加一个JUint配置项目,模块选择redis,工作目录选择模块所在的根目录,类选择这个测试程序即dbdemo.redis.test.RedisTest,并将配置保存为redistest。

使用Debug方式运行测试项目redistest。如果测试通过,会输出一个用户的用户名、所属部门和拥有角色等简要信息,如下所示:

dbdemo.redis.test.RedisTest - ======user====== name:user, deparment:开发部, role:admin

对于Redis的使用,还可以将注解方式与调用数据库的方法相结合,那样就不用再编写像上面那样的服务类,并且使用起来更加简单,这将在后面的章节中介绍。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值