redistemplate常用api

String 操作

String 是 Redis 中最简单的基本数据类型,可以存储任何数据,如字符串、整数、浮点数等。下面是一些常用操作。

  • 添加/设置值SET key value

    java
    redisTemplate.opsForValue().set("mykey", "myvalue");
  • 获取值GET key

    java
    String value = redisTemplate.opsForValue().get("mykey");
  • 计时器:可以使用 SETEX 设置带有过期时间的值。

    java
    redisTemplate.opsForValue().set("tempKey", "value", 10, TimeUnit.SECONDS);
  • 自增INCR key

    java
    redisTemplate.opsForValue().increment("myCounter", 1);
  • 自减DECR key

    java
    redisTemplate.opsForValue().decrement("myCounter", 1);
  • 增加指定值INCRBY key increment

    java
    redisTemplate.opsForValue().increment("myKey", 100);
  • 减少指定值DECRBY key decrement

    java
    redisTemplate.opsForValue().decrement("myKey", 100);

2. List 操作

List 是一个链表结构,支持从两端添加和移除元素。

  • 左添加LPUSH key value

    java
    redisTemplate.opsForList().leftPush("myList", "leftValue");
  • 右添加RPUSH key value

    java
    redisTemplate.opsForList().rightPush("myList", "rightValue");
  • 分页查询(获取指定区间的值)LRANGE key start stop

    java
    List<String> values = redisTemplate.opsForList().range("myList", 0, 10);
  • 获取指定位置的元素LINDEX key index

    java
    String value = redisTemplate.opsForList().index("myList", 0);
  • 删除元素LREM key count value

    java
    redisTemplate.opsForList().remove("myList", 1, "leftValue");

3. Hash 操作

Hash 是一个 key-value 映射结构,用于存储多个键值对。可以在一个 hash 中保存多个字段。

  • 单独设置字段值HSET key field value

    java
    redisTemplate.opsForHash().put("myHash", "field1", "value1");
  • 单独获取字段值HGET key field

    java
    String value = (String) redisTemplate.opsForHash().get("myHash", "field1");
  • 批量添加字段值HMSET key field1 value1 field2 value2

    java
    Map<String, String> values = new HashMap<>(); values.put("field1", "value1"); values.put("field2", "value2"); redisTemplate.opsForHash().putAll("myHash", values);
  • 批量获取字段值HMGET key field1 field2

    java
    List<String> values = redisTemplate.opsForHash().multiGet("myHash", Arrays.asList("field1", "field2"));
  • 获取所有字段和值HGETALL key

    java
    Map<Object, Object> entries = redisTemplate.opsForHash().entries("myHash");

4. Set 操作

Set 是一个无序集合,支持常用的集合运算,如交集、并集、差集等。

  • 添加元素SADD key member

    java
    redisTemplate.opsForSet().add("mySet", "value1", "value2", "value3");
  • 移除元素SREM key member

    java
    redisTemplate.opsForSet().remove("mySet", "value1");
  • 交集SINTER key1 key2

    java
    Set<String> intersection = redisTemplate.opsForSet().intersect("set1", "set2");
  • 并集SUNION key1 key2

    java
    Set<String> union = redisTemplate.opsForSet().union("set1", "set2");
  • 差集SDIFF key1 key2

    java
    Set<String> difference = redisTemplate.opsForSet().difference("set1", "set2");
  • 判断元素是否存在SISMEMBER key member

    java
    Boolean exists = redisTemplate.opsForSet().isMember("mySet", "value1");
  • 获取所有元素SMEMBERS key

    java
    Set<String> members = redisTemplate.opsForSet().members("mySet");

5. ZSet(有序集合)操作

ZSet(有序集合)是 Redis 中支持根据分数进行排序的集合。

  • 添加元素ZADD key score member

    java
    redisTemplate.opsForZSet().add("myZSet", "member1", 1); redisTemplate.opsForZSet().add("myZSet", "member2", 2);
  • 获取前 N 个元素(按分数排序)ZRANGE key 0 N

    java
    Set<String> topMembers = redisTemplate.opsForZSet().range("myZSet", 0, 3);
  • 获取分数ZSCORE key member

    java
    Double score = redisTemplate.opsForZSet().score("myZSet", "member1");
  • 移除元素ZREM key member

    java
    redisTemplate.opsForZSet().remove("myZSet", "member1");
  • 获取有序集合的排名ZRANK key member

    java
    Long rank = redisTemplate.opsForZSet().rank("myZSet", "member1");
  • 获取指定范围内的元素ZRANGE key start stop

    java
    Set<String> range = redisTemplate.opsForZSet().range("myZSet", 0, 10);

RedisTemplate 常用操作:

RedisTemplate 是 Spring Data Redis 提供的高级 API,用于简化 Redis 的操作。你可以通过 RedisTemplate 来操作上述数据结构。

 

posted @   langpo  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示