https://segmentfault.com/a/11...
URLの後ろにある1190000000490733の実装方法とこの方法の利点
https://segmentfault.com/a/11...
URLの後ろにある1190000000490733の実装方法とこの方法の利点
これがあなたが望む答えです
http://segmentfault.com/q/1010000000142374
以下の答えはすべて推測です。類似点はまったくの偶然です。
一定のシステムルールに従って番号を発行するグローバルナンバラーに似たサービスがあります
最初の 3 桁は、システム モジュールの識別子用に予約されています。たとえば、101 は Q&A、119 は記事、メモは 133、位置は 128、アクティビティは 116、お気に入りは 123 などです。
他のモジュールがある場合もあります。最後の 13 ビットは予約された数兆のデータに相当し、システム内で生成されるすべてのモジュールのすべてのデータが自動的にインクリメントされます
利点は次のとおりです:
1. モジュール、サブテーブル、分散などによる便利なデータベース展開
2. 便利なサービス指向アーキテクチャ
3. フルスタック データの再帰収集に特定のしきい値を設定します
4.特定のモジュールの実際のステータス データの量
5. ID の最初の 3 桁で、このデータがどのモジュールに属しているかをすぐに知ることができます
6.
a は記事を表す必要があり、URL は ID 1190000000490733 の記事を表示することを意味します。この種の ID には、ランダムに生成されたルールがいくつかあります。その目的は、ユーザーが推測したり、クローラーがそれを捕捉したりすることを防ぐことです。後列に1、2、3、4、5などの整数を入れると他の人が推測しやすくなります
これは RESTful インターフェイスに非常に似ています。RESTful API 設計ガイドのこの記事を読んで、インターフェイスを明確にするために RESTful 仕様の利点をより合理的に使用してください。
実装方法としては、一意のIDが生成されるようにするだけです。
mysql の uuid_short 関数を使用して uuid を生成できます。もちろん、SF は独自のルールをカスタマイズしたり、PHP の関数を使用して uuid を生成したりすることもできます。
試してみたところ、IDが不連続であることが分かりました。推測では、サブデプロイメントをサポートする ID 生成サービスによって生成された ID である必要があると考えられます。
リーリー
記事、質問、コメントはすべてこのID生成サービスを使用すると推定されるため、IDを直接+1するとデータにアクセスできなくなります。この分散型IDジェネレーターを使用する理由は