Spring Boot 2关于Redis的使用3
对RedisTemplate的理解
public class RedisTemplate<K, V> extends RedisAccessor implements RedisOperations<K, V>, BeanClassLoaderAware {
//操作普通键值对
private @Nullable ValueOperations<K, V> valueOps;
//操作list
private @Nullable ListOperations<K, V> listOps;
//操作set
private @Nullable SetOperations<K, V> setOps;
//操作sortedset
private @Nullable ZSetOperations<K, V> zSetOps;
//操作地理坐标信息
private @Nullable GeoOperations<K, V> geoOps;
//应用于基数计算
private @Nullable HyperLogLogOperations<K, V> hllOps;
}
//针对key、value都是String的场景
public class StringRedisTemplate extends RedisTemplate<String, String> {
}
ValueOperations常用操作
stringRedisTemplate.opsForValue().set(key, value, second);
stringRedisTemplate.opsForValue().get(key);
stringRedisTemplate.opsForValue().multiSet(value);
stringRedisTemplate.opsForValue().multiSetIfAbsent(value);
stringRedisTemplate.opsForValue().multiGet(key);
ListOperations常用操作
stringRedisTemplate.opsForList().leftPushAll(key,value);
stringRedisTemplate.opsForList().rightPushAll(key,value);
stringRedisTemplate.opsForList().size(key);
stringRedisTemplate.opsForList().range(key, start, end);
stringRedisTemplate.opsForList().leftPop(key);
stringRedisTemplate.opsForList().rightPop(key);
SetOperations常用操作
stringRedisTemplate.opsForSet().add(key,value);
stringRedisTemplate.opsForSet().size(key);
stringRedisTemplate.opsForSet().members(key);
ZSetOperations常用操作
stringRedisTemplate.opsForZSet().add(key,value,score);
stringRedisTemplate.opsForZSet().zCard(key);
stringRedisTemplate.opsForZSet().count(key, min, max);
stringRedisTemplate.opsForZSet().rangeByScore(key, min, max, offset, count);
stringRedisTemplate.opsForZSet().rangeByScoreWithScores(key, min, max);
HashOperations常用操作
stringRedisTemplate.opsForHash().put(key, hashKey, value);
stringRedisTemplate.opsForHash().size(key);
stringRedisTemplate.opsForHash().get(key, hashKey);
stringRedisTemplate.opsForHash().values(key);
stringRedisTemplate.opsForHash().entries(key);
GeoOperations常用操作
stringRedisTemplate.opsForGeo().add(key,memberMap);
stringRedisTemplate.opsForGeo().hash(key,members);
stringRedisTemplate.opsForGeo().distance(key,member1,member2);
HyperLogLogOperations常用操作
stringRedisTemplate.opsForHyperLogLog().add(key,values);
stringRedisTemplate.opsForHyperLogLog().size(key);
源码位置
https://gitee.com/ceclar123/spring-boot-demo/tree/master/ch02