当前位置:   article > 正文

springboot整合redis及常用命令_user springboot整合redis常用操作命令

user springboot整合redis常用操作命令

springboot整合redis及常用命令

pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
  • 1
  • 2
  • 3
  • 4

application.propertiesapplication.yml中配置Redis连接信息:

spring.redis.host=127.0.0.1
spring.redis.port=6379
  • 1
  • 2

完成以上配置后,你可以使用Spring的RedisTemplateStringRedisTemplate来操作Redis。下面是一些常用的Redis命令及其在Spring Boot中的使用示例:

1. 设置键值对:
@Autowired
private RedisTemplate<String, String> redisTemplate;

public void set(String key, String value) {
    redisTemplate.opsForValue().set(key, value);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
2. 获取键对应的值:
public String get(String key) {
    return redisTemplate.opsForValue().get(key);
}
  • 1
  • 2
  • 3
3. 设置键的过期时间:
public void expire(String key, long timeout, TimeUnit unit) {
    redisTemplate.expire(key, timeout, unit);
}
  • 1
  • 2
  • 3
4. 删除键:
public void delete(String key) {
    redisTemplate.delete(key);
}
  • 1
  • 2
  • 3
5. 发布订阅消息:
@Autowired
private RedisTemplate<String, String> redisTemplate;

public void publish(String channel, String message) {
    redisTemplate.convertAndSend(channel, message);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

更多操作

  1. 列表操作:

    • 在列表的左侧或右侧插入元素:redisTemplate.opsForList().leftPush(key, value)redisTemplate.opsForList().rightPush(key, value)
    • 获取列表指定范围的元素:redisTemplate.opsForList().range(key, start, end)
    • 弹出列表的左侧或右侧元素:redisTemplate.opsForList().leftPop(key)redisTemplate.opsForList().rightPop(key)
  2. 集合操作

    • 添加元素到集合:redisTemplate.opsForSet().add(key, values)
    • 获取集合中的所有元素:redisTemplate.opsForSet().members(key)
    • 判断元素是否在集合中:redisTemplate.opsForSet().isMember(key, value)
  3. 哈希操作:

    • 设置哈希字段和值:redisTemplate.opsForHash().put(key, field, value)
    • 获取哈希字段对应的值:redisTemplate.opsForHash().get(key, field)
    • 获取哈希中所有字段和值的映射:redisTemplate.opsForHash().entries(key)
  4. 有序集合操作:

    • 添加元素到有序集合:redisTemplate.opsForZSet().add(key, value, score)
    • 获取有序集合中指定范围的元素:redisTemplate.opsForZSet().range(key, start, end)
    • 获取有序集合中指定分数范围的元素:redisTemplate.opsForZSet().rangeByScore(key, min, max)
  5. 事务操作:

    • 开启事务:redisTemplate.multi()
    • 提交事务:redisTemplate.exec()
    • 回滚事务:redisTemplate.discard()

示例代码:

// 设置列表元素
redisTemplate.opsForList().leftPush("mylist", "element1");
redisTemplate.opsForList().rightPush("mylist", "element2");

// 获取列表范围内的元素
List<String> elements = redisTemplate.opsForList().range("mylist", 0, -1);

// 添加元素到集合
redisTemplate.opsForSet().add("myset", "element1");
redisTemplate.opsForSet().add("myset", "element2");

// 获取集合中的所有元素
Set<String> members = redisTemplate.opsForSet().members("myset");

// 设置哈希字段和值
redisTemplate.opsForHash().put("myhash", "field1", "value1");
redisTemplate.opsForHash().put("myhash", "field2", "value2");

// 获取哈希字段对应的值
String value1 = (String) redisTemplate.opsForHash().get("myhash", "field1");

// 添加元素到有序集合
redisTemplate.opsForZSet().add("myzset", "element1", 1.0);
redisTemplate.opsForZSet().add("myzset", "element2", 2.0);

// 获取有序集合指定范围的元素
Set<String> range = redisTemplate.opsForZSet().range("myzset", 0, -1);

// 开启事务
redisTemplate.multi();
// 执行事务操作
redisTemplate.opsForValue().set("key1", "value1");
redisTemplate.opsForValue().set("key2", "value2");
// 提交事务
redisTemplate.exec();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/780640
推荐阅读
相关标签
  

闽ICP备14008679号