标签:Set HyperLogLog Spring opsForValue Redis key 使用 stringRedisTemplate String
基本类型:
String
- 存储数据:
- stringRedisTemplate.opsForValue().set("key", "value");
- 获取数据:
- String value = stringRedisTemplate.opsForValue().get("key");
- 设置数据的过期时间(单位为秒):
- stringRedisTemplate.expire("key", 60, TimeUnit.SECONDS);
- 删除数据:
- stringRedisTemplate.delete("key");
- 检查 key 是否存在:
- boolean exists = stringRedisTemplate.hasKey("key");
- 自增或自减操作:
- Long incrementedValue = stringRedisTemplate.opsForValue().increment("key", 1);
- Long decrementedValue = stringRedisTemplate.opsForValue().decrement("key", 1);
Hash
- 设置 Hash 类型数据:
- stringRedisTemplate.opsForHash().put("hashKey", "field", "value");
- 获取 Hash 类型数据:
- String hashValue = (String) stringRedisTemplate.opsForHash().get("hashKey", "field");
List :
stringRedisTemplate.opsForList().rightPush("listKey", "value1");
String value = stringRedisTemplate.opsForList().index("listKey", 0);
Set :
stringRedisTemplate.opsForSet().add("setKey", "value1");
boolean memberExists = stringRedisTemplate.opsForSet().isMember("setKey", "value1");
Sorted Set 类型:
stringRedisTemplate.opsForZSet().add("zsetKey", "value1", 10.0);
Set<String> rangeValues = stringRedisTemplate.opsForZSet().range("zsetKey", 0, -1);
Set<String> rangeByScore = stringRedisTemplate.opsForZSet().rangeByScore("sortedSetKey", 0, 100);
特殊类型:
1. HyperLogLog (基数统计)
HyperLogLog 用于进行基数统计,即对集合中不重复元素的个数进行估计。在 Redis 中,可以使用 HyperLogLog 数据结构来实现这一功能。
使用示例:
// 添加元素到 HyperLogLog stringRedisTemplate.opsForHyperLogLog().add("hyperLogLogKey", "element1", "element2"); // 获取 HyperLogLog 的基数估计值 Long cardinality = stringRedisTemplate.opsForHyperLogLog().size("hyperLogLogKey");
2. GeoSpatial (地理空间)
GeoSpatial 数据结构用于处理地理位置信息,如存储经纬度坐标点,并进行附近位置搜索等操作。
使用示例:
// 添加地理位置信息 stringRedisTemplate.opsForGeo().add("geoKey", new Point(13.361389, 38.115556), "Palermo"); // 获取两个地理位置之间的距离 Distance distance = stringRedisTemplate.opsForGeo().distance("geoKey", "Palermo", "Catania");
3. Bitmaps (位图)
Bitmaps 是一种位数组数据结构,用于存储位的状态(0 或 1),常用于处理一些状态标记或位运算操作。
使用示例:
// 设置位图中指定位置的值 stringRedisTemplate.opsForValue().setBit("bitmapKey", 0, true); // 获取位图中指定位置的值 Boolean bitValue = stringRedisTemplate.opsForValue().getBit("bitmapKey", 0);
标签:Set,
HyperLogLog,
Spring,
opsForValue,
Redis,
key,
使用,
stringRedisTemplate,
String
From: https://www.cnblogs.com/alicia0/p/18072931