![](https://img-blog.csdnimg.cn/20190901170205255.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Redis&缓存相关
在路上2017
曾先后在互联网金融、支付公司、阿里巴巴、滴滴担任技术专家角色,擅长分布式、高并发、海量数据、支付资金相关的架构
展开
-
Redis 单线程 为何却需要事务处理并发问题
Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争。 简单的总结下,其实redis本事是不会存在并发问题的,因为他是单进程的,再多的command都是one by one执行的。我们使用的时候,可能会出现并发问题,比如get和set这一对。 因为存在多客...原创 2019-08-24 16:09:09 · 2832 阅读 · 1 评论 -
Redis scan命令的一次坑 转
Redis作为当前服务架构不可或缺的Cache,其支持丰富多样的数据结构,Redis在使用中其实也有很多坑,本次博主遇到的坑或许说是Java程序员会遇到的多一点,下面就听博主详细道来。 线上服务堵塞 String key = keyOf(appid); int retryCount = 3; int socketRetryCount = 3; Exception ex = null; w...原创 2019-08-24 16:11:39 · 334 阅读 · 0 评论 -
Redis的并发竞争问题
Redis的并发竞争问题,主要是发生在并发写竞争。 考虑到redis没有像db中的sql语句,update val = val + 10 where ...,无法使用这种方式进行对数据的更新。 假如有某个key = "price", value值为10,现在想把value值进行+10操作。正常逻辑下,就是先把数据key为price的值读回来,加上10,再把值给设置回去。如果只有一个连接的情况...原创 2019-08-24 16:15:21 · 94 阅读 · 0 评论 -
redis分布式锁深度剖析
redis分布式锁的实现主要是基于redis的setnx 命令(setnx命令解释见:http://doc.redisfans.com/string/setnx.html),我们来看一下setnx命令的作用: redis-setnx.png 1、redis分布式锁的基本实现 redis加锁命令: SETNX resource_name my_random_value PX 3...原创 2019-08-25 16:44:08 · 190 阅读 · 0 评论