springboot中使用redis实现异步消息通知
项目需求:在管理员点击督办之后;对app作出一个消息提醒。
项目需求:在管理员点击督办之后;对app作出一个消息提醒。
1:项目初始化
@PostConstruct 被注解的方法,在对象加载完依赖注入后执行
@PostConstruct
public void init()
{
List<SysDictType> dictTypeList = dictTypeMapper.selectDictTypeAll();
for (SysDictType dictType : dictTypeList)
{
List<SysDictData> dictDatas = dictDataMapper.selectDictDataByType(dictType.getDictType());
DictUtils.setDictCache(dictType.getDictType(), dictDatas);
}
}
2:我们通常会结合数据库来实现数据字典,但事实上数据字典经常会被使用到,如果频繁地去访问数据库,将会对数据库造成性能压力,事实上我们经常会采用Redis对数据字典进行缓存来提升系统性能
String dictTypeTemp="logistics";
List<SysDictData> data = dictTypeService.selectDictDataByType(dictTypeTemp);
3:在SpringBoot中使用Junit进行Redis的链接测试;基于Ruoyi-Vue
package com.test;
import org.junit.Assert;
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.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class RedisCon {
@Autowired
private RedisTemplate redisTemplate;
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Test
public void setArgs() throws Exception {
stringRedisTemplate.opsForValue().set("aaa", "111");
Assert.assertEquals("111", stringRedisTemplate.opsForValue().get("aaa"));
}
}
主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。
项目背景:
很多网站有排行榜的功能,比如:商城中有商品销量的排行榜,游戏网站有玩家获得积分的排行榜。
一般数据的排行我们都知道非常的简单,order by一下就可以了。但是,我们那个系统好巧不巧的是单表就达到了上千万的数量级。而且越来越恶心。
在任何一个基于消息的应用中,都有
消息发布者
和
消息接收者。
所谓的消息发布者和消息接受者,通俗的举例说明的话就是。