缓存
文章平均质量分 88
alwaysBrother
这个作者很懒,什么都没留下…
展开
-
redis同时设置key和过期时间实现分布式锁
/*** 用来处理消息*/static class AppStompFrameHandler implements StompFrameHandler { @Override public Type getPayloadType(StompHeaders headers) { return GreetingResponse.class; } @Override public void handleFrame(StompHeaders heade原创 2021-03-24 12:14:38 · 1774 阅读 · 0 评论 -
通过redisson源码看看它实现的分布式锁
redisson实现分布式锁,是通过一个hash结构存储的,形式如下:MY_LOCK 3444e697-8ab7-43ba-bfb5-28a38aeb1f02:1 1MY_LOCK 是我获取分布式锁的时候,通过redisson.getLock(“MY_LOCK”)定义的,它作为hash结构的key3444e697-8ab7-43ba-bfb5-28a38aeb1f02:1 作为hash结构的一个field,冒号后面的1是线程id。1 是field的值,作为当前线程重入锁的次数。每次原创 2020-06-13 18:58:37 · 614 阅读 · 0 评论 -
spring @Cacheable @CachePut... 使用redis缓存详细步骤
spring @Cacheable @CachePut... 使用redis缓存详细步骤本文以一个spring的maven工程,整理记录使用注解缓存的问题,基本不需要自己写过多的封装的代码,很多人都实现Cache接口重新定义自己的缓存操作。其实不用也可以,Spring已经做了很多了。预期目标查询:如果缓存中存在,直接从缓存中取,不查数据库。如果缓存中没有,从数据库查询并存入缓存,并设置超时时间。修...原创 2018-05-18 22:22:46 · 9373 阅读 · 5 评论 -
spring + RedisTemplate使用缓存
spring + RedisTemplate使用缓存使用步骤配置文件, 只需要配置了 redisTemplate 就可以<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3....原创 2018-05-20 14:14:57 · 1671 阅读 · 0 评论 -
spring + Jedis 的方式使用缓存
jedis原创 2018-05-08 19:39:08 · 288 阅读 · 0 评论 -
jedis connection exception unexpected end of stream
jedis connection exception unexpected end of stream多线程的时候,我的代码起初是这样子的:ExecutorService pool = Executors.newFixedThreadPool(100); // 线程池100Jedis jedis = jedisPool.getResource();for (int i = 0; i...原创 2018-06-22 11:15:38 · 2176 阅读 · 0 评论 -
单线程的redis如何处理阻塞命令
今天有个问题,既然redis是单线程的,那么像 BLPOP这种的阻塞命令不会一直占用着线程,其他命令无法执行吗?然而事实上是可以执行的。BLPOP key1 [key2 ] timeout 移出并获取列表的第一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止而且redis的线程模型,是 I/O 多路复用,通过文件事件分配器单线程执行的。如下图,程序总是会将所有...原创 2019-08-06 14:35:29 · 5253 阅读 · 0 评论