您需要 登录 才可以下载或查看,没有账号?立即注册
在一般业务中秒杀功能,存在并发问题如果两个线程同时执行插入操作导致数据库id 自增 同时为一个数 就会导致写入数据失败 全局Id生成器
场景:目的是为了解决多台相同服务之间同时工作产生的并发问题,(例如订单系统,假设订单系统部署在两台机器上,但是库存是固定的,接着每个订单系统实例都去数据库里查了一下,由于并发问题导致超卖,这肯定是不允许的)(当然并发特别大的话是需要进行分段数据,数据分段会导致整体业务流程更加复杂,如果没有这方面的需求建议不要使用) SETNX LOCK Thread1 为了保证原子性 (带上过期时间) 如果不设置过期时间会出现死锁问题 Set lock thread1 EX 10 NX
RDB (redis Database Backup file)数据备份文件 save # redis主进程执行备份,会阻塞所有命令 bgsave #开启子线程执行备份,避免主线程受到影响 save 5 1 (表示五秒内有一次修改就执行备份操作) 可以在redis.conf中修改 bgsave fork主进程开启一个子进程,共享内存空间,(这时候物理内存是只读模式) 如果会有写入操作会拷贝一份数据
AOF全称为 Append only file(追加文件),redis会处理每一个写入命令都会记录在aof文件中 AOf默认是关闭的 appendonly yes appendfilename "appendonly.aof"
单节点Redis并发能力邮上线,要提升并发能力需要搭建主从集群,实现读写分离(大部分业务都是读的业务) 一般写入到master 节点,同步到子节点 需要三台redis 服务器
使用道具 举报
登录后关闭弹窗