简单队列缓存
Posted huangtao1927
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单队列缓存相关的知识,希望对你有一定的参考价值。
public enum SequenceEnum SEQUENCE; SequenceEnum() private static final ConcurrentLinkedQueue<String> cache = new ConcurrentLinkedQueue<>(); private static final ReentrantLock lock = new ReentrantLock(); /** * * 出队 */ public String poll() try lock.lock(); if (cache.size() < 100) //必须调用其他方法增加队列数量 offer(SequenceUtil.getSequenceArray()); catch (Exception e) e.printStackTrace(); finally lock.unlock(); return cache.poll(); /** * * 入队 */ public void offer(String[] sequenceArray) for (String sequence : sequenceArray) cache.add(sequence); /** * * 队列数量太大,不可使用,因为遍历整个队列,耗时过长 */ public int size() return cache.size(); /** * * 判空使用此方法 */ public boolean isEmpty() return cache.isEmpty();
以上是关于简单队列缓存的主要内容,如果未能解决你的问题,请参考以下文章
高并发简单解决方案redis队列缓存 + mysql 批量入库 + php离线整合