redis
Spring RedisTemplate Scan
keys 不能用, 那就只能用scan了public static Set<String> scan(RedisTemplate<String, String> redisTemplate, String pattern) {
return redisTemplate.execute((Re
基于Redis ZSet的滑动窗口限流
private boolean limit() {
String ip = ServletUtil.getClientIP(request);
String banKey = "limit_ban_" + ip;
Boolean b = redisTemplate.hasK
Kubernetes Cloud Native 实践 ( 四 ) 中间件上云
全文目录Kubernetes Cloud Native 实践 ( 一 ) 安装Kubernetes Cloud Native 实践 ( 二 ) 简单使用Kubernetes Cloud Native 实践 ( 三 ) NFS/PV/PVCKubernetes Cloud Native 实践 ( 四
Redis特性
1. GEO可用于存储地理位置添加地理位置的坐标计算两个位置间的直线距离根据指定的经纬度坐标来获取指定范围内的地理位置集合2. Pipinglineing 管道, 一次发送多个命令, 节省网络开销3. Public/Subscribe 发布订阅, 可用于构建轻量级的消息队列, 但如果客户端断连, 消
Redis缓存更新修改原有值但是不修改失效时间
第一种方式redisTemplate.opsForValue().set("key", "value", 0);第二种方式redisTemplate.opsForValue().increment("key", 1);
Java操作Redis的常见误区
不能使用 keys * 命令不能在set中存放大量数据
SpringBoot连接Redis服务出现Command timed out
docker 部署的redis一直出现超时docker pull redis
网上的都说要设置这个值spring.redis.timeout=50000
然而实际使用过程中仍然超时查看redis 服务端配置-bash# cat redis.conf | grep tcp-k
tcp-keepali
SpringBoot RedisTemplate 操作不同的库
其他开发解决不了redis切换库, 于是通过消息队列, 让其他项目去操作对应的库, 太奇葩了, PM居然不管???@Bean("redisTemplateForDb6")
public RedisTemplate<Object, Object> redisTemplate(RedisConnecti
Spring Boot项目中使用RedisTemplate.delete() 删除指定key失败的解决办法
https://blog.csdn.net/hello_world_qwp/article/details/85763286上面这篇博客扯一大堆, 居然还分析源码实际只是自定义了key的序列化方式导致最终操作redis的时候序列化的key与预期的key不一致而已, 自然就删不掉redis中的数据了
Redis实现分布式锁
boolean redisRes = stringRedisTemplate.opsForValue().setIfAbsent(key, value)
原子操作当key不存在, 存入value,返回true当key存在, 不进行操作, 返回false当处于redis事务中 , 返回null
关于redis缓存时间设置可能导致的bug
看到在项目代码中有人先调用redisTemplate的方法判断某个key是否存在,然后再调用redisTemplate的方法拿到这个key里的数据。但是,在设置了key缓存时间的情况下,这个逻辑就会出错。比如第一步这个key存在,但是紧接着key过期了,后面就会拿不到这个key,造成后面的逻辑出错所
SpringDataRedis 常用操作
//向redis里存入数据和设置缓存时间
stringRedisTemplate.opsForValue().set("test", "100",60*10,TimeUnit.SECONDS);
//根据key获取缓存中的val
stringRedisTemplate.opsForValue().