卡飞资源网

专业编程技术资源共享平台

Spring AOP接口限流实战!三行注解解决高并发,代码可复制

为什么你的系统总在半夜崩溃?

某电商平台大促期间,一个抢购接口被狂刷每秒10万次请求,数据库直接瘫痪!

Redis 应用实践:读写锁进行性能优化

锁优化-读写锁

public Product getProductByReadWriteLock(Long productId) {
        String redisId = SystemConstants.REDIS_KEY_PREFIX + productId;
        // 1. 先查redis缓存
        Product product = getProductFromRedis(redisId);
        if (product != null) {
            return product;
        }
        // 加写锁
        ReadWriteLock readWriteLock = redisson.getReadWriteLock(SystemConstants.LOCK_HOT_UPDATE_PREFIX + productId);
        Lock writeLock = readWriteLock.writeLock();
        writeLock.lock();

        // 2. DCL再查redis,因为只要有一次查询数据库操作,redis就已经有缓存数据了
        Product productMysql;
        try {
            product = getProductFromRedis(redisId);
            if (product != null) {
                return product;
            }
            // 3. 加读锁 读数据库
            ReadWriteLock readWriteLock2 = redisson.getReadWriteLock(SystemConstants.LOCK_HOT_UPDATE_PREFIX + productId);
            Lock readLock = readWriteLock2.readLock();
            readLock.lock();
            productMysql = getProductFromMysql(productId);
            readLock.unlock();
        } finally {
            writeLock.unlock();
        }
        return productMysql;
    }  

Redis多线程还是单线程(看这篇就够了)

Redis是非常核心的分布式系统中间件,会了提升性能,Redis会涉及到单线程以及多线程处理问题,而且大厂也特喜欢考察,下面我就重点来详解Redis单线程以及多线程@mikechen

本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

Redis单线程

Redis所谓的单线程并不是所有工作都是只有一个线程在执行,而是指Redis的网络IO和键值对读写是由一个线程来完成的。

Serverless架构下,Redis如何适应“按需使用”的模式?

各位头条的看官们,走在技术浪潮前沿的朋友们,咱们这“Redis漫谈”系列是越聊越有劲,越挖越深!前面咱们从云计算聊到AI,从商业化聊到未来趋势,把Redis的方方面面都给“解剖”了一遍。今天,咱们来聚焦一个当下炙手可K热,并且未来极具潜力的技术方向——Serverless(无服务器)架构

您可能要问了:“Serverless?听起来很高大上啊!它跟咱们的老朋友Redis有啥关系?Redis这种需要常驻内存、维护连接池的家伙,能适应Serverless那种‘召之即来,挥之即去’、‘按需使用’的模式吗?”

<< 1 >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言