-
一、前言
为什么需要分布式锁?
在我们的日常开发中,一个进程中当多线程的去竞争某一资源的时候,我们通常会用一把锁来保证只有一个线程获取到资源。如加上synchronize关键字或ReentrantLock
-
Cannot convert value of type 'org.springframework.data.redis.core.convert.MappingRedisConverter' to required type 'org.springframework.data.redis.core.mapping.RedisMappingContext': no matching editors or conversion strategy found
在setVal
-
什么是 Redis
Redis 是基于内存的 K-V 数据库,常用于缓存、消息队列,分布式锁等场景,并且提供了常见的数据结构:字符串、哈希、列表、集合、带排序的集合
Redis 数据类型详解
前置知识
Redis
-
IDEA中的Redis插件作为Redis的可视化工具,可以通过该插件连接Redis服务器,并进行增删改查操作。
一、IDEA安装Redis插件
1、点击 File->Setting
2、点击Plugins
3、在Browse Repositories中输入redis
4、点击
-
1、四种同步策略:
想要保证缓存与数据库的双写一致,一共有4种方式,即4种同步策略:
先更新缓存,再更新数据库;先更新数据库,再更新缓存;先删除缓存,再更新数据库;先更新数据库
-
一、需求背景
最近项目需要做排行榜功能,实现员工邀请用户注册排行榜,要求是实时更新,查询要快。员工所属支行、二级行、省行,界面要根据条件显示排名数据。效果如下图所示:
原型
-
如何解决缓存双写问题
只要涉及到缓存,那么缓存双写的问题就避免不了,每一种情况下使用的方案也不相同,对于数据一致性要求不高的场景,我们可以使用延时双删等方案来实现,而对于
-
一、使用Jackson2JsonRedisSerializer序列化反序列化带泛型的List数据
1、使用Jackson2JsonRedisSerializer序列化value的代码:
RedisTemplate template = new RedisTemplate();
template.setKeySerializer(new StringRedisSerializer());
templa
-
redis中没有直接根据正则表达式删除key的命令,只有del key1 key2...命令
但是redis中有通过正则表达式获取key的命令:keys "正则表达式"
可以借助于xargs命令实现批量删除key,把查出来的key值当做参数
-
一、验证密码有没有生效
运行cmd,cd到redis的目录下
输入“redis-cli.exe” 回车
输入“auth 123456” 回车
若错误,说明没有设置密码或者设置的密码没有生效
输入“exit” 回车就
-
全量同步
主从第一次同步是全量同步:也就是说,当你主从节点连接建立后,需要执行一次全量同步。那么Redis如何实现全量同步呢?
其实本质就是Master 给 slave 发送其保存的RDB文件。slave读取R
-
一、分布式锁是什么
分布式锁是 满足分布式系统或集群模式下多进程可见并且互斥的锁。
基于Redis实现分布式锁:
1、获取锁
互斥:确保只能有一个线程获取锁;非阻塞:尝试获取锁,成功返回
-
一。Redis实现分布式锁原理
为什么需要分布式锁
在聊分布式锁之前,有必要先解释一下,为什么需要分布式锁。
与分布式锁相对就的是单机锁,我们在写多线程程序时,避免同时操作一个共享
-
常用的分布式ID解决方案
在分布式系统中,生成全局唯一ID是非常重要的,因为在分布式系统中,多个节点同时生成ID可能会导致ID冲突。
下面介绍几种常用的分布式ID解决方案。
UUID
UUID(通用
-
1.redis 用zset做消息队列如何处理消息积压
改变消费者的消费能力:
可以增加消费者的数量,或者优化消费者的消费能力,使其能够更快地处理消息。同时,可以根据消息队列中消息的