当前位置: 首页 > news >正文

做网站用什么框架建设网站公司专业

做网站用什么框架,建设网站公司专业,正规app开发报价,wordpress 评论弹幕Redis是一个开源的内存中数据结构存储系统,通常被用作数据库、缓存和消息中间件。 Redis主要将数据存储在内存中,因此读写速度非常快。 支持不同的持久化方式,可以将内存中的数据定期写入磁盘,保证数据持久性。 redis本身就有自己…

Redis是一个开源的内存中数据结构存储系统,通常被用作数据库、缓存和消息中间件。
Redis主要将数据存储在内存中,因此读写速度非常快。
支持不同的持久化方式,可以将内存中的数据定期写入磁盘,保证数据持久性。
redis本身就有自己的发布与订阅功能,实现简单的消息队列系统。

这里是另一种方式实现消息队列的机制,使用定式任务。
代码实现:
1、启动类开启定是任务

@SpringBootApplication
@EnableScheduling //启动类开启定时任务
public class AccountApplication {public static void main(String[] args) {ApplicationContext context = SpringApplication.run(AccountApplication.class, args);}
}

2、准备redis缓存工具类
 

/*** Redis的配置类*/
@Configuration
public class RedisConfiguration {private static final Logger logger = LoggerFactory.getLogger(RedisConfiguration.class);public RedisConfiguration() {logger.info("创建缓存配置类:RedisConfiguration");}@Beanpublic RedisTemplate<String, Serializable> redisTemplate(RedisConnectionFactory redisConnectionFactory) {RedisTemplate<String, Serializable> redisTemplate = new RedisTemplate<>();redisTemplate.setConnectionFactory(redisConnectionFactory);redisTemplate.setKeySerializer(RedisSerializer.string());redisTemplate.setValueSerializer(RedisSerializer.json());return redisTemplate;}
}/*** Redis的缓存接口*/
public interface CacheInterface {//往队列中存入数据void saveDate(Integer i, LinkedHashMap<String, Object> map);//从队列中取数据LinkedHashMap<String, Object> getDate(Integer i);//清除队列中的数据void deleteDate(Integer i);//检查队列中剩余的数据Set<String> checkDataKey();
}/*** Redis的缓存接口的实现类*/
@Repository
public class CacheRepositoryImpl implements CacheInterface {private static final Logger logger = LoggerFactory.getLogger(CacheRepositoryImpl.class);@Autowiredprivate RedisTemplate<String, Serializable> redisTemplate;@Overridepublic void saveDate(Integer i, LinkedHashMap<String, Object> map) {String key = YOU_KEY + i;ValueOperations<String, Serializable> opsForValue = redisTemplate.opsForValue();opsForValue.set(key, map);}@Overridepublic LinkedHashMap<String, Object> getDate(Integer i) {String key = YOU_KEY + i;ValueOperations<String, Serializable> opsForValue = redisTemplate.opsForValue();Serializable serializable = opsForValue.get(key);if(serializable == null ){return null;}return (LinkedHashMap<String, Object>) serializable;}@Overridepublic void deleteDate(Integer i) {String key = YOU_KEY + i;redisTemplate.delete(key);}@Overridepublic Set<String> checkDataKey() {Set<String> keys = redisTemplate.keys(YOU_KEY  + "*");return keys;}
}

3、准备指针工具类与存取方法

    
public class TaskCount {public static Integer save = 0;public static Integer get = 0;
}@Service
public class ServiceImpl implements Service {@Autowiredprivate CacheInterface cacheImpl;//存入队列@Overridepublic JsonResult saveDate(LinkedHashMap<String, Object> map ) {cacheImpl.saveDate(TaskCount.save,map);TaskCount.save++;return JsonResult.ok();}//处理数据@Overridepublic JsonResult handleDate(LinkedHashMap<String, Object> map ) {//处理逻辑}
}

4、定式任务工具类充当消息的发布

@Component
public class TaskUtil implements CommandLineRunner {@Autowiredprivate CacheInterface cacheImpl;@Autowiredprivate Service serviceImpl;//定时任务处理,每5000毫秒@Scheduled(fixedRate = 5000)public void handleData(){LinkedHashMap<String, Object> map = cacheImpl.getDate(TaskCount.get);if(map != null){try {serviceImpl.handleData(map);cacheImpl.deleteDate(TaskCount.get);TaskCount.get++;}catch (Exception e){System.out.println(e.getMessage());}}}//每小时启动一次@Scheduled(fixedRate = 3600000)public void handleData(){handleCount(cacheImpl);}//开机加载启动@Overridepublic void run(String... args) {handleCount(cacheImpl);}}//归置双指针public static void handleCount(CacheInterface cacheImpl){try {Set<String> keys = cacheImpl.checkDataKey();int max = 0;int min = Integer.MAX_VALUE;for (String key : keys) {String[] split = key.split(":");int a = Integer.parseInt(split[split.length-1]);if(a>max){max = a;}if(a<min){min = a;}}if(max > 0 ){max = max+1;}else {min = 0;}TaskCount.get = min;TaskCount.save = max;}catch (Exception e){System.out.println(e.getMessage());}}
}

http://www.bjxfkj.com.cn/article/109578.html

相关文章:

  • 怎么办网站做网站属于什么技术
  • 优秀网站建设模板如何选择合肥网站建设
  • 大学生期末作业建设网站wordpress侧栏菜单加上序号
  • 网站建设遵循原则大连招投标网官网
  • 怎么创建自己的网站wordpress为什么是英文版
  • 怎样做音视频宣传网站四川南充网站建设
  • 做一个手机网站多少钱网站做m版
  • 做网站买域名要买几个后缀最安全软件大全下载app免费
  • 北京最好的网站建设公司设计公司排名前十
  • 拍卖网站模板整合营销方案怎么写
  • 廉政建设网站网站内部链接的策略
  • 先备案先建网站重庆网站设计重庆最加科技
  • 凡诺企业网站管理系统菏泽微信小程序制作
  • 网站seo技术能不能赚钱农村电子商务网站建设方案
  • 深圳做小程序网站设计高端网站建设推来客地址
  • 在线制作插画网站荣成市有做网站的吗
  • 中企动力做的网站好吗邹城网站建设v556
  • 网络营销网站设计网站上线步骤 icp备案
  • 网站文章多久才收录作品 上海高端网站设计
  • 南京网站群建设公司网页游戏排行榜第一名
  • 深圳专业做网站建设青岛建设网站的公司
  • 靖州建设局网站做网站注册公司
  • 厦门网站建设 孚珀科技做网站排名费用多少
  • 建网站多少费用互联购物
  • 如何登录中国建设银行网站网站建设确认表
  • 论坛网站需要多大的空间网页设计师的工作
  • 怎么看网站是不是做竞价数据分析师报考条件
  • 找人做效果土去那网站找郑州专业手机网站制作
  • 微网站和小程序的区别建设网站构成
  • 刷网站排名 优帮云宁波网站建设外包