RedisTemplate操作API:常用命令和示例代码

分类:知识百科 日期: 点击:0

RedisTemplate是一个spring框架的模板,它提供了基于redis的常用操作,并且支持对象存储,可以让我们更方便的操作redis数据库。它提供了一系列的API,可以支持我们实现redis的各种操作,下面介绍几个常用的操作。

1、String操作

String是redis中最常用的数据类型,RedisTemplate提供了多种API来支持对String类型的操作,比如:

  • set:设置key-value,如果key已存在,则覆盖原有的value
  • get:获取key对应的value
  • setIfAbsent:设置key-value,如果key已存在,则不会覆盖原有的value
  • multiSet:设置多个key-value,如果key已存在,则覆盖原有的value
  • multiGet:获取多个key对应的value
  • increment:对key对应的value做自增操作
  • append:追加字符串到key对应的value后面
// 设置key-value
redisTemplate.opsForValue().set("key1", "value1");
// 获取key对应的value
String value = redisTemplate.opsForValue().get("key1");
// 设置多个key-value
Map map = new HashMap<>();
map.put("key2", "value2");
map.put("key3", "value3");
redisTemplate.opsForValue().multiSet(map);
// 获取多个key对应的value
List values = redisTemplate.opsForValue().multiGet(Arrays.asList("key1", "key2", "key3"));
// 对key对应的value做自增操作
redisTemplate.opsForValue().increment("key4", 1);
// 追加字符串到key对应的value后面
redisTemplate.opsForValue().append("key5", "appendValue");

2、Hash操作

Hash是redis中常用的数据类型,RedisTemplate提供了多种API来支持对Hash类型的操作,比如:

  • put:设置hash中field-value,如果field已存在,则覆盖原有的value
  • get:获取hash中field对应的value
  • multiPut:设置多个field-value,如果field已存在,则覆盖原有的value
  • multiGet:获取多个field对应的value
  • entries:获取hash中所有field-value
  • increment:对hash中field对应的value做自增操作
// 设置field-value
redisTemplate.opsForHash().put("hashKey", "field1", "value1");
// 获取field对应的value
Object value = redisTemplate.opsForHash().get("hashKey", "field1");
// 设置多个field-value
Map map = new HashMap<>();
map.put("field2", "value2");
map.put("field3", "value3");
redisTemplate.opsForHash().putAll("hashKey", map);
// 获取多个field对应的value
List values = redisTemplate.opsForHash().multiGet("hashKey", Arrays.asList("field1", "field2", "field3"));
// 获取hash中所有field-value
Map entries = redisTemplate.opsForHash().entries("hashKey");
// 对hash中field对应的value做自增操作
redisTemplate.opsForHash().increment("hashKey", "field4", 1);


3、List操作

List是redis中常用的数据类型,RedisTemplate提供了多种API来支持对List类型的操作,比如:

  • leftPush:从list头部添加元素
  • rightPush:从list尾部添加元素
  • leftPop:从list头部弹出元素
  • rightPop:从list尾部弹出元素
  • range:获取list中指定范围的元素
  • size:获取list的长度
  • remove:删除list中指定的元素
// 从list头部添加元素
redisTemplate.opsForList().leftPush("listKey", "value1");
// 从list尾部添加元素
redisTemplate.opsForList().rightPush("listKey", "value2");
// 从list头部弹出元素
Object value1 = redisTemplate.opsForList().leftPop("listKey");
// 从list尾部弹出元素
Object value2 = redisTemplate.opsForList().rightPop("listKey");
// 获取list中指定范围的元素
List values = red                

               
                
标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。