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);
}