2024年04月09日
Redis是一种高性能的键值存储系统,它的底层实现逻辑主要包括以下几个关键组件:
2024年04月09日
有这样一种需求,程序中需要一个定时任务(使用Cron处理定时),但是服务是集群部署的,这种情况就会造成重复执行,如果代码写的不够严谨,甚至会生成重复数据。 为避免这种情况,有3种方案,一是单机部署(缺点是机器挂了怎么办?),一是将定时任务暴露为HTTP服务,供外界(某定时任务)调用(缺点是增加了系统复杂性,定时任务的执行权只是交了出去而已),最佳选择就是每个服务都能自己判断出只执行一次就好了。
2024年04月09日
使用过Redis,那就先说说使用过那些场景吧 字符串缓存
2024年04月09日
在同一个jvm进程中时,可以使用JUC提供的一些锁来解决多个线程竞争同一个共享资源时候的线程安全问题,但是当多个不同机器上的不同jvm进程共同竞争同一个共享资源时候,juc包的锁就无能无力了,这时候就需要分布式锁了。常见的有使用zk的最小版本,redis的set函数,数据库锁来实现,本节我们谈谈Redis单实例情况下使用set函数来实现分布式锁。一、前言
2024年04月09日
redis中文官方文档:http://www.redis.cn/commands/set.html 先了解一下命令set命令的NX(not exist)指令后续有用:NX(not exist)只有key不存在的时候再设置锁,并且它是原子性的redis 的set命令