redis 自增
- php的session和并发
-
我想在这里从一个我遇到的例子说起,分享PHP的session在使用过程中的锁和并发的问题,与之相关的现象有请求阻塞、session数据丢失、session数据读不到。我登录不了了某天,我准备登录我们一个后台系统,前去解决一个bug,在账户密码验证码都准确输入的情况下,我登录不上,经过多次实验发现主...
- 大厂面试:一个四年多经验程序员的BAT面经(字节、阿里、腾讯)
-
上次写了篇欢聚时代的面经,公众号后台有些读者反馈说看得意犹未尽,希望我尽快更新其他大厂的面经,这里先说声抱歉,不是我太懒,而是项目组刚好有个活动要赶在春节前上线,所以这几天经常加班,只能工作之余断断续续的编写,如果各位看管觉得本文排版看着有些凌乱的话,还望见谅!背景先说一下个人情况,我是17年毕业的...
- 架构设计:对于微服务接口,幂等,并发的相关设计的一些设想
-
我们微服务接口愈来愈庞大,那这里大概讲述一下我个人对于各种接口设计的一些看法和要点。1、接口是否需要做幂等如果是查询或者删除这些接口是不需要做幂等的,一般删除是根据ID来删除,第二次删除如果内容不存在,那么也相当于删除成功。如果是新增或者修改操作,一般来说都会做幂等的,而做密等有如下两种。1)业务逻...
- 字节一面-如何实现短链接转换服务
-
字节跳动一面,经常被问到,短链服务如何设计。问题看似简单,但很多设计细节处都能展开很多知识点,本文将对短链设计方案做详细的剖析,给大家提供几种不同的短链设计思路。一、为什么要用短链这种营销短信,大家一般都收到过因短信通道是超过一定字数会加收短信费用(文案总字数超过70个字,那就算两条短信计费,超过1...
- 不会用Redis做分布式流水号?
-
引言最近做项目,需要做单据编号,格式固定为:单据类型固定前缀+年月日时间戳+4位流水号,要求是每个单据类型的流水号唯一,方便后续业务使用。之前项目中使用的是UUID作为其他业务的单据编号,和组长沟通了一下,项目中有使用Redis,正好使用Redis做更便捷并能解决分布式部署单号唯一问题。分布式Id也...
- Redis 操作 String 类型数据的常用方法
-
Redis的String类型是最基本的数据类型,可以存储字符串、整数或浮点数。以下是操作String类型的主要方法:一、基本操作命令1.设置值SETkeyvalue:设置指定key的值SETname"John"SETNXkeyvalue:当key不存在...
- 9种 分布式ID生成方案,让你一次学个够
-
一、为什么要用分布式ID?在说分布式ID的具体实现之前,我们来简单分析一下为什么用分布式ID?分布式ID应该满足哪些特征?1、什么是分布式ID?拿MySQL数据库举个栗子:在我们业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个MySQL主从同步读写分离也能对付。但随着数据日渐增长...
- 如何设计一款基于 MySQL 实现的 Message Queue
-
EMSExtendMySQLStream;一种基于MySQL实现的stream队列.功能集群消费、广播消费自动重试、死信队列快速重置消息位点,快速回放消息,快速查询消息消息可基于磁盘积压、消息可快速清理监控group积压,topic消息量排行,消息链路追踪,消息消费超时告警;读写性...
- 记一次“雪花算法”造成的生产事故的排查记录
-
本文主要内容如下:前言最近生产环境遇到一个问题:现象:创建工单、订单等地方,全都创建数据失败。初步排查:报错信息为duplicatekey,意思是保存数据的时候,报主键id重复,而这些id都是由雪花算法生成的,按道理来说,雪花算法生成的ID是唯一ID,不应该出现重复的ID。大家可以...
- 库存扣减热key优化方案
-
背景:某个需求扣减库存时,原有的逻辑是直接使用redis的自增,redis的数据格式为hash,所有奖品的库存,会集中到单个redis的key上面去处理,下单高峰的时候,会有热key的情况出现,为了提高系统的健壮性,有必要优化查询和扣减库存的方式。基本思路流程说明:本地缓存设置一个标识:结构是Map...