����λ�ã���ҳ > �����̳� > �̳� > ��ͽС���������������š��˿����

��ͽС���������������š��˿����

��Դ������������|��ʱ�䣺2024-06-24 15:49:23 |���Ķ���110��|�� ��ǩ�� š��˿ �� ���� ��� ���� �� |����������

���ѽ���������ᡣ ����������һ���ϴε���ƪ���¡��������������at least once����������ˡ� ��Ϊ��Щ���ѿ���֮�����������������Լ���˼����Ҳ�����Ѻ���˽�ģ��������Լ��Ŀ������Ҿ�����Щ�뷨�ܺã������Ҿ���һ�����ԣ�������������⡣ ���裬������һ�����ԣ����Թٸ����׳�������һ�����⣺

���ѽ���������ᡣ

����������һ���ϴε���ƪ���� ���������������at least once����������ˡ�

��Ϊ��Щ���ѿ���֮�����������������Լ���˼����Ҳ�����Ѻ���˽�ģ��������Լ��Ŀ������Ҿ�����Щ�뷨�ܺã������Ҿ���һ�����ԣ�������������⡣

���裬������һ�����ԣ����Թٸ����׳�������һ�����⣺

���һ�����Ѷ�������ijЩԭ�򣬶���ij����Ϣ���������Ρ�����һ��������������������������ô����������⣿

������һ�õ����ϣ�Ӧ�þ������ܷ��������������ʵ��һ���ݵȻ��ơ�

�������������찡���ſھ��ܸ���������

ҵ����Ϣ?=?select(ҵ��Ψһ��ˮ��);
if(ҵ����Ϣ?==?null){
????save(ҵ����Ϣ);
}

���Թ�һ������ʾ��������������ڶ��̵߳�����»᲻����ʲô�����أ�

�������С�Թ������̿�ʼת���������Ȳ�ѯ�����жϣ���󱣴档

��������߳�ͬʱ���������鲻�����ݣ���ô���ܶ��ߵ�������߼�����ȥ��ȷʵ����ס��

���������һ���Կǣ����������ϼҹ�˾���������⣬���������ݿ�ı��ṹ���棬��ҵ��Ψһ��ˮ������Ψһ���������Բ�������ظ�����������

Ȼ��������ˡ���Ψһ�������ķ�����׼����ɱ������⡣

û�뵽���Թٷdz������£����ڼ���׷�ʣ����뾡����Ҫ�ó����׳��쳣������û�������ķ����أ�

Redis

�㱧���Լ������֣��߿�ָ�ױ�˼����Ψһ���������ݿ�����DZ�֤���߼����������Թ�����ϵDz������������ݿ�����������顣�Ǿͱ���Ҫ�����ڲ����ij����£�ֻ��һ�������ִܵ����ݿ⡣

Õâ¾Í½Ð¡°ÃæÊÔÔì»ð¼ý£¬¹¤×÷Å¡ÂÝË¿£¡¡±

�����ⲻ�������ɵ��¶���

������ɿ�����뵽��һ��������

flag?=?redis(ҵ��Ψһ��ˮ��,����ʱ��);
if(flag){
????save(ҵ����Ϣ);????
}

��������ҵ��Ψһ��ˮ�Ž�� Redis ����һ�����������ɹ�����������ߵ� save �߼��С�

�������ܽ�����������£��������͸�� save �߼���һ�������⡣

���Թ��������������֮��������������׷�ʼ��ܣ������ Redis �ɹ��ˣ����ǻ�û���ü� save�����������ˡ�

���������������Ӧ�����ٴη���ģ��������� Redis ���Ĵ��ڣ����²����ߵ� save ���߼�ȥ����ô���أ�

�������ֿ���һ���Կǣ����������ϼҹ�˾��ʱ�򣬺���Ҳ��������������

��ʱ�Ľ�����������˹����룬������һ�����ݣ�ȷ���������ϢȷʵӦ�ñ������������������� DBA ��æɾ���� Redis ��Ӧ�� key�����̾�ͨ�ˡ�

Ȼ������ش����Թٲ������⣺�˹����Եò������ˣ�Ҫ�������룿

���ֱ����Լ������֣��߿�ָ�ױ�˼��������ϵǿ��ǵ�ȷʵͦ��ģ��о�Ӧ����һ�����������Ŷӣ��ҵüӰѾ����������롣

����Ҫ�˹������ԭ������Ϊ���ǰѵڶ��ε���������ס�������ˡ�

�������������ô�������ڡ�����ʱ�䡱���ˣ������ͷź󣬵ڶ��ε������õ��������ܽ��������ߡ�

���ԣ�������Ҫ�� Redis �����һ������ʧ����ȴ����߼���

flag?=?redis(ҵ��Ψһ��ˮ��,����ʱ��,��ȡ������ȴ�);
if(flag){
????save(ҵ����Ϣ);????
}

������һ������߼��ֲ����ˣ����������ȴ����߼�����ô���������������������п��ܻᶼ���뵽 Redis ���棬flag ����Ϊ true����ô save �������ǻ������顣

���ԣ������ڻ�ȡ���ɹ�֮�����һ����ѯ���ݿ���߼���

flag?=?redis(ҵ��Ψһ��ˮ��,����ʱ��,��ȡ������ȴ�);
if(flag){
????ҵ����Ϣ?=?select(ҵ��Ψһ��ˮ��);
????if(ҵ����Ϣ?==?null){
????????save(ҵ����Ϣ);????
????}
}else{
????//�ȴ���������δ��ȡ����,����Ԥ��
????monitor(Ԥ����Ϣ);
}

��һ��� Redis �൱���������Ŷӣ�ȷ��ֻ��һ�����������

�ڶ���� select ���������ķ�ֹ�ظ���ҵ���߼���

ͬʱ������ȴ���������δ��ȡ�������������ֵ͸����������Ԥ���������˹������һ���˹����룬�Ǿ����ܽ���κ����⡣

�������ⲨӦ�������ˣ�Ӧ���ǿ��Ի����ˡ�

Ȼ�����Թٲ�������������غ������׷Ź��㣺�������ȷʵ�ǿ��Խ��������⣬�����ڼ���ʵ���������� Redis ��ܣ�����Ҳ�ʹ�� Redis�������Ŀ� MySQL �أ�

�ص� MySQL

������������ʱ������ò��԰����ʼ��ʱ�򲻾���˵�ˡ���Ψһ�������Ϳ��Խ�����������

�������Թٲ�����һ��������

�ʼ�ļ�Ψһ�����ǻ���ҵ��������ģ������������������׳�������ͻ�쳣���������ȷʵ�ǿ���ʵ�����󡣵���������������������һ��ͨ�õļ������������Ҫ����ij�������ҵ�񳡾�ȥ��ơ������������˼·��

�õ��µ���Ŀ���㿪ʼ��������***�ѣ��������Թ���֪���������ֿ�ʼ���ɣ�����ϵDz��������׷����İɣ�

�����Լ��Ѿ���ҧͺ�˵����Ҵ�Ĵָָ�ף��о��Լ�����к�ָ��һ������ͺͺ�ġ�

��ʼ���ǰ�漸���غ�ҧ��̫���ˣ�ԭ��Ϊ������ɱ������ԣ�û�뵽���Թٻ��ڲ������㶯��ʹ�ñ�ɱ��������ս�������롣

���Ǵ�ñ�ӵķ�϶�в����һ��ָ���Ѿ�ͺ�˵���ָ���ڲ��ͺ�˵�ͷ������ָ����Ȧ�����Լ�ͷƤ��Ħ��ҽ��˵������������ë�ҷ�����������ͷ�����᳤��������˼��Ȫӿ������DZ�ɱ����

Õâ¾Í½Ð¡°ÃæÊÔÔì»ð¼ý£¬¹¤×÷Å¡ÂÝË¿£¡¡±

��������˼����Redis ��ǰ��ķ�������Ϊ�˷�ֹ�ж������ݴ�͸�� save ������ȥ����������� Redis��MySQL ��ôʵ�����Ƶ�Ч���أ�

Ҳ������for update��

ҵ����Ϣ?=?select(ҵ��Ψһ��ˮ��);//select?***?for?update
if(ҵ����Ϣ?==?null){
????save(ҵ����Ϣ);????
}

������һ����ȥ�������ܾ������ˣ�Ϊ�˽�����ż�������⣬�����˽ӿڵ����ܣ����·�߾��ߵ��е�Զ�ˡ�

��������������߼����ص��е���������º󻼣����Թٿ϶���������ġ�

�ǻ���ʲô�취���ܰ� MySQL ���������ã�ȷ�����������ֻ��һ�������ܴ���������أ�

�ǻ��ǵÿ�Ψһ������Լ�����С�

�������Ψһ�������Թٲ�����ҵ����ģ��Ǿ�ֻ��ֱ�Ӹ������Ϣ���Ѽ�¼�����������и�����ϢΨһ��ʶ�����ֶΣ�����ֶ���Ψһ������

���ű����Թ����������Ҿ�˵���ű�����ȫ������ҵ��Ĵ��ڣ�ֻ��Ϊ�˽����Ϣ�ݵ�������ļ�����������ֵģ������������ǾͿ�����Ƴ�һ��ͨ�õļ������������Ӧ��˵�Ĺ�ȥ��

�����ˣ�����������ŵij��ξ����ˡ�

Ȼ���㻹���ܿ�ʼ���⣬����˼·�������ر���������Ҫ�ѷ�������������ſڡ�

�ڲ�֪�����䣬���ָ���Ѿ�Ħ�����е���ľ�ˣ������㻻��һ���֣�����ñ�ӣ����Ű�Ħ���Լ���ͷ����

���������ô���أ�

if(�������ݵ���Ϣ���Ѽ�¼��){//����������ͻ�ͷ���false
????save(ҵ����Ϣ);????
}

��У�飬�ٱ��棬��ԭ���ԣ������϶����а���

��������һ������������������ݵ���Ϣ���Ѽ�¼���ɹ�����û���ü� save(ҵ����Ϣ) �����������ˣ���ô�죿

����Ϊ�˱�֤ԭ���ԣ����ǿ��Լ������񣬰��������󶨵�һ��

��������
if(�������ݵ���Ϣ���Ѽ�¼��){//����������ͻ�ͷ���false
????save(ҵ����Ϣ);????
}
�ύ����

����������������ݵ���Ϣ���Ѽ�¼���ɹ�����û���ü� save(�ۿ���Ϣ) ����������������ع�����Ϣ���Ѽ�¼���Ͳ�����IJ���ɹ���

�� MQ û���յ������Ϣ�Ļ�ִ��Ҳ���ٴν���Ͷ�ݡ�

������Ϣ���Ѽ�¼����û��������ݣ����Ի��ٴν������ѡ�

����������ƺ�ûɶ�����ˣ���������Թ�˵�����˼·�������������뵽������һ�����⣺ͨ����������������ˡ���ԭ���ԡ������⣬�������������⣬һ����˵����Ҷ����ܲ�ʹ������ĵط��;�����ʹ������ͨ������һ��������֤���ݵ������ԡ�

����ϵǿ϶���������ط�������׷�ʹ�ģ�����Ԥ���������������������ô�����

���ǿ�������Ϣ���Ѽ�¼������������һ����״̬���ֶΣ�����ֶ�������ȡֵ�������С�������ɡ�

ͬʱ��Ψһ�����ijɡ���ϢΨһ��ʶ+״̬����

���ȣ�MQ ����������������Ϣ���Ѽ�¼�����ʱ��״ֱ̬�Ӿ��ǡ������С���

�������ɹ�����˵���ǵ�һ�����ѣ����뵽ҵ���߼���ȥ��

  • ���ҵ���߼�ִ�гɹ����������Ϣ���Ѽ�¼����Ӧ����Ϊ��������ɡ���
  • ���ҵ���߼�ִ��ʧ�ܣ���ɾ����Ϣ���Ѽ�¼����Ӧ���ݣ�����Ϣ�Ի� MQ���ȴ��´����ԡ�

�������ʧ�ܣ���˵�����ظ����ѣ�ֱ���ӵ���

��������ͼ�ϴ���������ģ�

Õâ¾Í½Ð¡°ÃæÊÔÔì»ð¼ý£¬¹¤×÷Å¡ÂÝË¿£¡¡±

˳����һ�죬�����������ͼ�����������վֱ�����ɵģ��Ҿ��������վ��ͼ��ͦ����ģ�

https://excalidraw.com/

Õâ¾Í½Ð¡°ÃæÊÔÔì»ð¼ý£¬¹¤×÷Å¡ÂÝË¿£¡¡±
Õâ¾Í½Ð¡°ÃæÊÔÔì»ð¼ý£¬¹¤×÷Å¡ÂÝË¿£¡¡±

��о��ⲨӦ�����ˣ����Ǹ����Թ�˵�����Լ��ķ��������ڰ����ϻ�������ͼ��

���Թ������������ͼ������һ�ۣ������Ϳ�����һ�����⣺���һ����Ϣ����ʧ�ܣ�����߼����ӵ����Ǽ���������Ϣ��״̬�������У�ҵ���߼�ִ��ʧ�ܣ��Dz���Ӧ���������ѲŶ��أ�

������������ӳ�������������ʧ�ܣ���˵�����ظ����ѣ�����Ҫ�ж����ݵ�״̬��

  • ���״̬�ǡ����ѳɹ�������˵���ظ�����ֱ�ӷ��سɹ�
  • ���״̬�ǡ������С�����˵����δ������ɣ�Ϊ��ȷ���ɹ�����Ҫ�������ٴ��Իص� MQ��

�޸�������ͼ��

Õâ¾Í½Ð¡°ÃæÊÔÔì»ð¼ý£¬¹¤×÷Å¡ÂÝË¿£¡¡±

���Թ������������ͼ��΢΢һЦ��

������ҵ��ִ����֮��״̬����֮ǰ��������ˣ������ָ����Ӧ�ԣ�

���ˣ����������һƪ���µ�������Ҳ�ᵽ�ˣ�

Õâ¾Í½Ð¡°ÃæÊÔÔì»ð¼ý£¬¹¤×÷Å¡ÂÝË¿£¡¡±

���ԣ�����Ҫ��Գ�ʱ���ڡ������С������ݽ���һ����أ��˹�����һ�¡�

���⣬Ϊ�˷�ֹ��������ɡ������������࣬��Ӧ�ö������״̬��������һ����ʱ����������

���ڣ��㿴�������Թ�������һ��������������飬����������Թ�Ӧ�û�Ź����˵�ʱ�������������������⣺

�����ͨ�����������ȷʵ�ǿ��еġ�

���ǣ����ű������ĸ�����ĸ������أ�

��ͳһ����һ�������ػ��Ǿͷ���ҵ�����Ŀ����أ�

ͳһ��һ����Ļ�̫������ô�����Dz���Ҫ�����ڷֱ���

��һ��ҵ����õ����ݿⲻ��һ�����ݿ��Ʒ��������Чզ���أ�

����ҵ�����Ļ���һҵ��������ü��������Ҿ������һ���أ�

�Dz�������ҵ����Ҷ��ü���ôһ�ű�ǿ�ư�����ǵ����ݿ⣿

...

Õâ¾Í½Ð¡°ÃæÊÔÔì»ð¼ý£¬¹¤×÷Å¡ÂÝË¿£¡¡±

��һ�������⣬Ҳ������һƪ������������

Õâ¾Í½Ð¡°ÃæÊÔÔì»ð¼ý£¬¹¤×÷Å¡ÂÝË¿£¡¡±

������Щ���⣬�㿪ʼ����������Թ����ں���������һ��֮�£�׼���ûؼ������������ԡ�

�������϶�����΢����һ�㣬һ��С���������Լ���ñ�ӣ�©���ˡ�����ķ��͡���

���Թ�Ҳ�ס�ˣ������㡰����ķ��͡�����������ס������֣��������Ҫ�ҵ��˲š������ˣ������ˣ�������������

Õâ¾Í½Ð¡°ÃæÊÔÔì»ð¼ý£¬¹¤×÷Å¡ÂÝË¿£¡¡±

��ְ

��ְ֮�����һ��������ǿ��������˾�Ĵ��롣

���㿴��һ���ӿڵ�ʱ�򣬷��ָ���û�����ݵȡ�

���㿴�ڶ����ӿڵ�ʱ�򣬷��־��ǿ�ҵ�����Ψһ���������ݵȡ�

���㿴�������ӿڵ�ʱ��Redis �ķ���ԾȻֽ�ϡ�

ͻȻһ�����������������ܹ�����������������ϵǣ�˵���죬�ֳ������ˣ���æɾ��һ�� Redis key��

���ǣ�����ȥ׼����һ����ô������

������俴�����ϵ�����дһ���ĵ�����Ŀ������һ�ֲַ�ʽϵͳ������Ψһ�Ե���Ϣ�ݵȱ��ϲ��ԡ���

�ϵǿ���������ˣ�˵�����ã�����д����ĵ������Ѿ������ָ�������ˣ���Ͱ������д�����������˼·д�������ʱ����ȥ�㱨��

���˷ܵ��ʣ��㱨����֮������Ҫ����������������

�ϵ�˵������������ظ�ɶ�������鷳���������㱨�����һ�������ڼ��������ʱ�̣����쵼��ǰȥˢ������������Ҫ����һЩ�ߴ��ϵĴʣ�Խ��ɬ�Ѷ�Խ�á�Ŷ�����ˣ���˳��̽�����ô��ɾ�� Redis key�����Ժ�������������ˡ�����ϵǣ����ҹ�ģ����Ǹ��Ҵ�绰��

Õâ¾Í½Ð¡°ÃæÊÔÔì»ð¼ý£¬¹¤×÷Å¡ÂÝË¿£¡¡±
С���Ƽ��Ķ�

�������������Ľ�Ϊ������Ϣ����������������ͬ���޹۵��֤ʵ��������

�����Ƶ����

����

ͬ������

����

ɨ��ά�����������ֻ��汾��

ɨ��ά����������΢�Ź��ںţ�

��վ�������������������ϴ��������ַ���İ�Ȩ���뷢�ʼ�[email protected]

��ICP��2022002427��-10 �湫��������43070202000427��© 2013~2025 haote.com ������