
redis
逆凡~
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
分布式锁
直接基于setnx实现分布式锁 setnx高版本已经可以将设置setnx和设置超时时间合并成原子操作了 当然如果不想解除别人的锁,那么你可能需要threadLocal保存随机值 其实还有一个问题,就是你拿到分布式锁后你来执行,但是执行过程中锁超时了,就会造成一些冲突操作,怎么办?因为你得操作可能很耗费时间,比如是一个大事务操作,这个时候就需要一个后台线程每隔10s来看看是否还拥有锁,如果拥有那么就...原创 2020-04-11 12:16:25 · 189 阅读 · 0 评论 -
Redis回顾2
为什么需要集群这样的功能? 并发量 数据量的问题,如果机器内存只有256G,业务需要500G呢? 网络流量的需求 数据分布-将全量数据进行拆分-拆分成一个个子集(分区) 顺序分区和哈希分区 对比 还是跟你业务需求有关吧,比如你的键值业务相关就用顺序分布法,但是顺序分布有个很严重问题,就是数据倾斜,例如按照用户id进行区分,可能早期用户访问量较高,后期用户访问较低,导致访问不均匀 hash分...原创 2020-04-10 21:10:58 · 298 阅读 · 0 评论 -
Redis基础回顾
数据结构和编码 为什么要设计这么多的数据结构呢?比如像string就有类似于raw,int,embstr raw就是我们常说的sds了 首先内存的资源是非常昂贵的,假如我们在使用数据结构的时候能够采用空间换时间的话,可以采用一些压缩的结构,又比如字符压缩AAAA我们可以压缩为4A,其实空间换时间你在redis里面真的非常常见,像Slot槽的状态保存通过ClusterNode.slots[]数组+C...原创 2020-04-09 21:30:59 · 217 阅读 · 0 评论