spring boot redis实战源码   

项目采用spring boot1.4.2.RELEASE开发。

有各种操作示例以及单元测试。

导入eclipse既可使用,无需任何配置,改下redis的链接地址既可。

主要内容分为2部分:

一部分是StringRedisTemplate的基本操作。

package com.cxytiandi.redis.test;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import com.cxytiandi.redis.App;
import com.cxytiandi.redis.service.GoodsService;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = App.class)
public class GoodsServiceTest {

    @Autowired
    private GoodsService goodsService;

    @Test
    public void testQueryGoods() {
        goodsService.queryGoods("iphone", "苹果").forEach( goods -> {
            System.out.println(goods.getName() + "\t" + goods.getBrand());
        });

        goodsService.queryGoods("iphone", "苹果").forEach( goods -> {
            System.out.println(goods.getName() + "\t" + goods.getBrand());
        });
    }

    @Test
    public void testAddValue() {
        goodsService.addValue();
    }

    @Test
    public void testGetValue() {
        System.out.println(goodsService.getValue("hello"));
    }

    @Test
    public void testAddValueForList() {
        goodsService.addValueForList();
    }

    @Test
    public void testListSize() {
        System.out.println(goodsService.listSize());
    }

    @Test
    public void testGetListValues() {
        goodsService.getListValues().forEach(System.out::println);
    }

    @Test
    public void testDeleteValueByList() {
        goodsService.deleteValueByList();
    }

    @Test
    public void testAddVlaueForSet() {
        goodsService.addVlaueForSet();
    }

    @Test
    public void testGetSetValues() {
        goodsService.getSetValues().forEach(System.out::println);
    }

    @Test
    public void testSetContains() {
        System.out.println(goodsService.setContains());
    }
}

一部分是用spring cache做的对接口自动缓存数据,加注解既可使用。

@Cacheable(value = "com.cxytiandi.redis.service.GoodsService.queryGoods", keyGenerator = "wiselyKeyGenerator")
public List<Goods> queryGoods(String name, String brand) {
    System.out.println("开始查询数据了......");
    return Arrays.asList(
                new Goods("1001", "IPhone18S", "苹果"), 
                new Goods("1002", "IPhone18", "苹果"));
}