グローバルに一意の分散ID(2)

Redisは分散された一意のIDを実装します。実際、これも非常に単純です。これは主に、redis文字列データ構造のインクリメントメソッドを使用します。

原理:

インクリメント方式を使用し、主にredisの高性能でシングルスレッドを使用して、毎回1​​を追加します。

実現する方法:

コアコードは次のとおりですが、同じ長さを確保するためには、実際には値を事前に初期化することができます。現在のものは1、2 ....から徐々に増加しています。


	/**
	 * 注入Redis字符串模板
	 */
	@Autowired
	private StringRedisTemplate redisTemplate;

       /**
	 * 当前的值 + 1
	 *
	 * @param key 键
	 * @return 返回操作之后的值
	 */
	public Long increment(final String key) {
		return this.redisTemplate.opsForValue().increment(key, 1);
	}

	/**
	 * 当前的值加 + value
	 *
	 * @param key   键
	 * @param value 值
	 * @return 返回操作之后的值
	 */
	public Long incrementBy(final String key, final long value) {
		return this.redisTemplate.opsForValue().increment(key, value);
	}

 

おすすめ

転載: blog.csdn.net/qq_38428623/article/details/105495779